step4 关闭防火墙
命令行关闭
命令是systemctl stop iptables.service
在三个机器都需要进行操作:
DMaster315:
DSlave01-315:
DSlave02-315:
*** bug fix2.0 重启容器后,防火墙再次重启,影响集群正常工作
step5 hadoop配置文件修改
在DMaster315操作:
cd /usr/local/hadoop/etc/hadoop
1. core-site.xml
vim core-site<Tab>
配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV
property标签对要放在configuration标签对中
<configuration><property> <name>fs.defaultFS</name> <value>hdfs://DMaster315:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/data/hadoopdata</value> </property> </configuration>
创建目录
mkdir -p /home/data
mkdir -p /home/data/hadoopdata
2. hdfs-site.xml
配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV
property标签对要放在configuration标签对中
<configuration> <property><!--配置存储namenode数据的目录--> <name>dfs.namenode.name.dir</name> <value>/home/data/hadoopdata/name</value> </property> <property><!--配置存储datanode数据的目录--> <name>dfs.datanode.data.dir</name> <value>/home/data/hadoopdata/data</value> </property> <property><!--配置副本数量--> <name>dfs.replication</name> <value>1</value> </property> <property><!--配置第二名称节点,放到DMaster315 --> <name>dfs.secondary.http.address</name> <value>DMaster315:50090</value> </property> </configuration>
3. mapred-site.xml:
配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV
property标签对要放在configuration标签对中
首先运行命令:
cp mapred-site.xml.template mapred-site.xml
然后vim mapred-site.xml
<configuration> <property> <name>mapreduce.Framework.name</name> <value>yarn</value> </property> </configuration>
4. yarn-site.xml
配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV
property标签对要放在configuration标签对中
<configuration> <property> <!--配置yarn主节点--> <name>yarn.resourcemanager.hostname</name> <value>DMaster315</value> </property> <property><!--配置执行的计算框架--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
5. slaves
配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV
property标签对要放在configuration标签对中
6. 测试互联互通
Dmaster ping dslave01-315 dslave02-315:
Dslave01-315 ping dmaster315 dslave02-315:
DSlave02-315 ping DMaster315 DSlave01-315:
可以互联互通,接下来传送文件
7. 传送到其他节点
切换到对应的目录:
cd /usr/local/hadoop/etc/hadoop
命令:
传送到DSlave01-315 scp slaves root@DSlave01-315:/usr/local/hadoop/etc/hadoop/ scp mapred-site.xml root@DSlave01-315:/usr/local/hadoop/etc/hadoop scp yarn-site.xml root@DSlave01-315:/usr/local/hadoop/etc/hadoop/ scp hdfs-site.xml root@DSlave01-315:/usr/local/hadoop/etc/hadoop scp core-site.xml root@DSlave01-315:/usr/local/hadoop/etc/hadoop scp -r /home/data/hadoopdata root@DSlave01-315:/home/ 传送到DSlave02-315 scp slaves root@DSlave02-315:/usr/local/hadoop/etc/hadoop/ scp mapred-site.xml root@DSlave02-315:/usr/local/hadoop/etc/hadoop scp yarn-site.xml root@DSlave02-315:/usr/local/hadoop/etc/hadoop/ scp hdfs-site.xml root@DSlave02-315:/usr/local/hadoop/etc/hadoop scp core-site.xml root@DSlave02-315:/usr/local/hadoop/etc/hadoop scp -r /home/data/hadoopdata root@DSlave02-315:/home/
传送给DSlave01-315:
传送给DSlave02-315:
step6 格式化节点
在三台机器分别执行:
hadoop namenode -format
DMaster315:
DMaster315格式化成功:
DSlave01-315 格式化成功:
DSlave02-315 格式化成功:
step7 开启集群查看状态
开启集群
经典命令(应该记住的):
/usr/local/hadoop/sbin/start-all.sh
现在切换到Dmaster315开启集群:
在中途输入了一个yes,应该是首次没有确认的原因
Jps信息查看:
DMaster315:
DSlave01-315:
DSlave02-315:
与预期设计一致~
查看运行状况
hadoop dfsadmin -report
datanode三个节点全有,配置齐全~
到DSlave01-315查看:
datanode三个节点全有,配置齐全~
到DSlave02-315查看:
datanode三个节点全有,配置齐全~
Web UI查看集群状态
进入虚拟机主机名的50070端口:
master315:50070
三个节点都有,配置齐全~
到这里,Docker上配置Hadoop集群配置完成,下面运行WordCount测试一下
***bug fix2.0 重启容器后,防火墙再次重启,影响集群正常工作
在博主重启完虚拟机之后(意味着容器也重启了),这个时候当博主再次启动集群之后,发现live datanode显示为1,当在两个DSlave01-315,DSlave02-315上进行操作的时候,发现从机无法与主机通过9000端口进行信息传输
错误如下:
发现Live datanodes为1不正常,到其他节点也出了问题:
原因是因为容器重启导致的之前防火墙设置的失效,所以我们要进行修改~/.bashrc
,使得一旦开启容器,便将防火墙关闭,解决方式如下:
DMaster315、DSlave01-315、DSlave02-315中的~/.bashrc
添加:
vi ~/.bashrc
systemctl stop iptables.service
step8 运行wordCount
在DMaster315 运行:
hadoop fs -mkdir /input
hadoop fs -ls /
cd /usr/local/hadoop
touch in.txt
vim in.txt
写点东西进去
将in.txt
文件添加到hdfs /input/下:
hadoop fs -put in.txt /input/
提交:
注意切换到和博主同样的目录具体可见下图:
cd share/hadoop/mapreduce
提交命令:
hadoop jar hadoop-mapreduce-examples-2.7.6.jar \ wordcount /input /output
提交之后:
查看结果:
状态显示成功
命令查看:
hadoop fs -cat /output/part-r-00000
结果正确!
关闭集群
如果有的地方不对,请及时联系/评论/私信博主进行修改
更文不易,麻烦点个赞
分享下一篇文章:
阿里云镜像服务关联Github上传Docker容器制作的镜像 链接
文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树容器(docker)安装docker1151 人正在系统学习中