Hadoop2.7.3全分布式环境搭建
- 说明:
完成Hadoop全分布式环境搭建,需准备至少3台虚拟机(niit01 niit02 niit03) - 环境:
VMWare + Centos7 + JDK1.8+ Hadoop2.7.3 - 主机规划:
主节点:niit01
从节点:niit02 , niit03
一、准备工作
- 1、所有主机安装jdk
- 2、所有主机都需要关闭防火墙
- 3、所有主机都需要配置主机名映射关系 vi /etc/hosts
- 4、配置免密码登录(配置两两之间的免密码登录)
所有的机器都需要产生一对密钥:公钥和私钥
ssh-keygen -t rsa
所有主机需要执行ssh-copy-id -i .ssh/id_rsa.pub root@niit01 ssh-copy-id -i .ssh/id_rsa.pub root@niit02 ssh-copy-id -i .ssh/id_rsa.pub root@niit03
- 5、保证每台机器的时间是一样的
如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题.。 解决方案:
1)搭建一个时间同步的服务器,网上很多教程可以使用
2)使用putty/shell工具,可以简单实现这个功能:
date -s 2018-07-30
后面必须敲一个回车
二、在主节点上进行安装配置(niit01)
-
上传hadoop安装包,解决配置环境变量
tar -zvxf /tools/hadoop-2.7.3.tar.gz -C /training/
注意需要同时设置:niit01 niit02 niit03
export HADOOP_HOME=/training/hadoop-2.7.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
-
创建tmp目录
mkdir /training/hadoop-2.7.3/tmp
-
修改配置文件
1)hadoop-env.sh (参考伪分布模式)
vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
需要这只jdk路径
2)hdfs-site.xml
vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
添加如下信息:
在
之间添加<property> <name>dfs.replicationname> <value>2value> property> <property> <name>dfs.permissionsname> <value>falsevalue> property>
3)core-site.xml
vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
添加如下信息:<property> <name>fs.defaultFSname> <value>hdfs://niit01:9000value> property> <property> <name>hadoop.tmp.dirname> <value>/training/hadoop-2.7.3/tmpvalue> property>
4)mapper-site.xml
vi /training/hadoop-2.7.3/etc/hadoop/mapper-site.xml
添加如下信息:<property> <name>mapreduce.framework.namename> <value>yarnvalue> property> <property> <name>mapreduce.jobhistory.addressname> <value>niit04:10020value> property> <property> <name>mapreduce.jobhistory.webapp.addressname> <value>niit04:19888value> property>
5)yarn-site.xml
vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
添加如下信息:<property> <name>yarn.resourcemanager.hostnamename> <value>niit01value> property> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> <property> <name>yarn.log-aggregation-enablename> <value>truevalue> property> <property> <name>yarn.log-aggregation.retain-secondsname> <value>604800value> property> <property> <name>yarn.log.server.urlname> <value>http://niit01:19888/jobhistory/logsvalue> property>
6)slaves
vi /training/hadoop-2.7.3/etc/hadoop/slaves
添加如下信息:
niit02
niit03 -
格式化nameNode
hdfs namenode -format
如格式化日志,会打印出如下日志信息:
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
三、分发到从节点
将上述配置好后的环境即hadoop2.7.3整个目录分别远程复制到其他两台从节点上(niit02,niit03)上:
- 将niit01上的hadoop环境复制到niit02 niit03
scp -r hadoop-2.7.3/ root@niit02:/training/
scp -r hadoop-2.7.3/ root@niit03:/training/
四、在主节点(niit01)上启动
- 在主节点(niit01)上启动hdfs
start-all.sh
五、验证结果
- jps查看进程
主节点:
NameNode ResourceMnager SecondaryNameNode
从节点:
DataNode NodeManager
- 浏览器查看
HDFS: http://niit01:50070
YARN:http://niit01:8088
评论记录:
回复评论: