大佬教程收集整理的这篇文章主要介绍了Hadoop完全分布式的搭建,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
其实完全分布式跟伪分布式的搭建方式基本相同c;只有个别文件需要更改c;那我们下面开始吧!
第一步还是配置IP地址c;主机名c;以及主机与IP地址的映射c;教程在我上一篇的伪分布式搭建里面都有c;在这里就不再叙述啦。
注:Hadoop完全分布式分为主从两个节点c;主节点有一个c;我这里将主节点的主机名命名为masterc;从节点有两个c;分别定义为:slave1c;slave2
第二步还是关闭防火墙c;(记得三台虚拟机都要关闭哦!配置IP地址c;主机名c;以及主机与IP地址的映射也是三个设备都要操作c;PS:可以先配置一个c;然后使用scp命令拷贝到另外两个设备上)
第三步:还是将Hadoop与jdk文件解压到指定文件夹下c;都是跟伪分布式相同的操作哈。(在master设备上完成)
#解压到指定目录
tar -zxvf /root/hadoop-2.7.3.tar.gz -C /opt
tar -zxvf /root/jdk1.8.0_144.tar.gz -C /opt
#查看
ll /opt
第四步:SSH免密链接(在master设备上完成!!!):
# 1、生成密钥对
ssh-keygen -t rsa
# 2、将公钥文件导出传递给本机c;注意公钥文件的路径c;操作是需要输入root用户的密码
ssh-copy-id -i /root/.ssh/id_rsa.pub master
# 3、将公钥文件导出传递给两个从节点c;注意公钥文件的路径c;操作是需要输入root用户的密码
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
# 4、检验c;用ssh命令连接本机(无需密码)
ssh master
ssh slave1
#进入slave1之后c;需要先exit退出c;再进行检验slave2
ssh slave2
第五步:修改环境变量文件并验证是否配置成功(文件在/etc/profile)(在主节点master上面完成):
# 在文件末尾处添加
export JAVA_HOME=/opt/jdk1.8.0_144 #配置jdk环境
export HADOOP_HOME=/opt/hadoop-2.6.0 #配置hadoop环境 PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# 保存退出
#刷新文件
source /etc/profile
# 查看hadoop与java是否生效c;出现版本号c;说明配置成功(若未查到命令c;需要再次检查/etc/profile文件哦!!!)
hadoop version
java -version
第九步:(与分布式的区别)将/etc/profile文件复制到slave1和slave2节点并使能生效(记得复制过去后需要source一下profile文件哦!!!):
scp /etc/profile root@slave1:/etc/ #可能需要输入slave1的密码
scp /etc/profile root@slave2:/etc/
#记得复制过去后需要source一下profile文件哦!!!
第十步:修改hadoop相关配置文件:(相较与伪分布式多了一个文件)(以下操作均在master设备上完成!!!):
(1)、core-site.xml文件:(在<configuration></configuration>标签中插入)
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> #master:主机名
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.0/tmp</value> #/opt/hadoop-2.6.0:hadoop解压缩路径
</property>
(2)、hadoop-env.sh 文件:
export JAVA_HOME=/opt/jdk1.8.0_144 #jdk解压缩路径
(3)、hdfs-site.xml文件:(在<configuration></configuration>标签中插入)
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.6.0/dfs/name</value> #/opt/hadoop-2.6.0:hadoop解压路径
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.6.0/dfs/data</value> #/opt/hadoop-2.6.0:hadoop解压路径
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/opt/hadoop-2.6.0/dfs/namesecondary</value> #/opt/hadoop-2.6.0:hadoop解压路径
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value> #master:主机名
</property>
<property>
<name>dfs.Replication</name>
<value>1</value> #因为是主从分布结构的c;所以这里写1
</property>
(4)、mapred-site.xml 文件(@H_717_6@mapred-site.xml 文件默认不不存在c;先从模板复制出来)(在<configuration></configuration>标签中插入):
# 复制并改名
cp mapred-site.xml.template mapred-site.xml
#配置信息
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value> #master:主机名
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value> #master:主机名
</property>
(5)、yarn-site.xml 文件:设置 yarn 资源管理器的主机名c;设置 yarn 节点管理器辅助功能(在<configuration></configuration>标签中插入):
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value> #master:主机名
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(6)、slaves文件:(与伪分布式不同的地方)
#在slaves文件中加入两个从节点的主机名即可
slave1
slave2
第十一步:将文件复制到slave1和slave2节点上:
scp -r /opt/hadoop-2.6.0 root@slave1:/opt/ #/opt/:为Hadoop的解压路径
scp -r /opt/hadoop-2.6.0 root@slave2:/opt/
scp -r /opt/jdk1.8.0_144 root@slave1:/opt/ #/opt/:为jdk的解压路径
scp -r /opt/jdk1.8.0_144 root@slave1:/opt/
第十二步:格式化:(注:格式化操作不能重复执行c;如需重复执行c;须将/opt/hadoop/dfs 目录下 的内容清空再执行格式化)
hadoop namenode -format
第十三步:启动hadoopc;查看进程:
# 启动hadoop
start-all.sh
#jps查看进程:
jps
#有以下进程说明搭建hadoop成功
1875 SecondaryNameNode
2724 Jps
2167 resourceManager
1544 NameNode
#(进程号可以不同c;但进程不能说少)
slave1:
#(进程号可以不同c;但进程不能说少)
1908 Jps
1763 NodeManager
1669 DataNode
slave2:
#(进程号可以不同c;但进程不能说少)
1888 Jps
1737 NodeManager
1623 DataNode
以上是大佬教程为你收集整理的Hadoop完全分布式的搭建全部内容,希望文章能够帮你解决Hadoop完全分布式的搭建所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。