Hadoop分布式集群环境
hadoop000:192.168.111.185
hadoop001:192.168.111.186
hadoop002:192.168.111.187
1、机器准备
1)安装虚拟机: 使用的是CentOS7,用户名为hadoop
2)设置静态IP:参考centos7设置静态IP地址
以上只需要安装一个虚拟机,然后克隆出两个即可
3)Linux hostname设置:sudo vi /etc/sysconfig/network
#三台机器的HOSTNAME分别为hadoop000、hadoop001和hadoop002NETWORKING=yes HOSTNAME=hadoop001
4)hostname和ip地址的映射设置:sudo vi /etc/hosts
192.168.111.185 hadoop000
192.168.111.186 hadoop001
192.168.111.187 hadoop002
5)各节点角色分配
hadoop000:主节点,NameNode、 ResourceManager、DataNode、NodeManager
hadoop001:从节点,DataNode、NodeManager
hadoop002:从节点,DataNode、NodeManager
2、前置配置
1)ssh免密码登录
在每台机器的终端上都单独运行下面的命令
ssh-keygen -t rsa #一直回车即可
以hadoop000机器为主,在hadoop000机器终端上运行下面的代码
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop000 #输入yes和用户密码ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
验证:
在hadoop000机器终端上运行下面命令
ssh hadoop000 #能够登录成功之后,执行exit退出,在执行下一条命令ssh hadoop0001 #执行exit退出ssh hadoop0002
2)JDK安装
(下面所有的都是在hadoop000上进行,之后再复制到hadoop001和hadoop002即可)
在hadoop000上解压jdk安装包并设置JAVA_HOME到系统变量即可
3、集群安装
1)Hadoop安装(在hadoop000机器上)
解压hadoop安装包,并设置HADOOP_HOME系统环境变量
配置文件
hadoop-env.sh
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79
core-site.xml
<property> <name>fs.default.name</name> <value>hdfs:///hadoop000:8020</value></property>
hdfs-site.xml
<property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/app/tmp/dfs/name</value></property><property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/app/tmp/dfs/data</value></property>
yarn-site.xml
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>hadoop000</value></property>
mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value></property>
slaves
hadoop000 hadoop001 hadoop002
2)分发安装包到hadoop001和hadoop002节点上
(注意:三台机器的用户名都是一样的,只是机器名不一样哦)
#分发hadoop和jdk,因文件比较大、分发过程可能有点慢scp -r ~/app hadoop@hadoop001:~/scp -r ~/app hadoop@hadoop002:~/#分发配置文件scp ~/.bash_profile hadoop@hadoop001:~/scp ~/.bash_profile hadoop@hadoop002:~/
在学习过程中强烈推荐使用伪分布式
在hadoop001和hadoop002机器上让.bash_profile生效
#分别在hadoop001和hadoop002中执行source ~/.bash_profile
3)对NameNode做格式化:只要在hadoop000机器上执行即可
hdfs namenode -format
4)启动集群:只要在hadoop000上执行即可
sbin/start-all.sh
5)验证:jps
image.png
webui:hadoop000:50070
image.png
6)停止机器:在hadoop000上执行即可
sbin/stop-all.sh
至此,hadoop集群搭建完毕!
4、集群使用
集群使用与分布式集群的使用方式一模一样。
作者:艳阳景
链接:https://www.jianshu.com/p/24b8ea31e807