Docker 上部署一主两从Hadoop集群 | [Centos8](下)

简介: step4 关闭防火墙命令行关闭*** bug fix2.0 重启容器后,防火墙再次重启,影响集群正常工作step5 hadoop配置文件修改1. core-site.xml2. hdfs-site.xml3. mapred-site.xml:4. yarn-site.xml5. slaves6. 测试互联互通7. 传送到其他节点step6 格式化节点step7 开启集群查看状态开启集群查看运行状况Web UI查看集群状态***bug fix2.0 重启容器后,防火墙再次重启,影响集群正常工作

step4 关闭防火墙


命令行关闭


命令是systemctl stop iptables.service

在三个机器都需要进行操作:


DMaster315:

e0545f4702ce47a4a361370d9ccdb96e.png


DSlave01-315:

c83adaeb56044db3b97baa3cc4961e38.png


DSlave02-315:

39842bdd8d1c4e24bd48e85bf860af3d.png


*** 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>


03a238fb42c2410eb891ae7ef36ec7fb.png


创建目录

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>


54777948bf3a40e2bff71cd89b5430a7.png


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>


92797a47d69e4da78f2e68535877dc74.png


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>


71a91e5a07424c52b0c2cdcfd450a64a.png


5. slaves


配置文件中的主机名端口等根据自己实际情况修改,切勿盲目CV

property标签对要放在configuration标签对中

663d2c16067f41939baa9530dfb8c1c1.png


6. 测试互联互通


Dmaster ping dslave01-315 dslave02-315:

5de760dfd7d444c09532b9e036c89feb.png


Dslave01-315 ping dmaster315 dslave02-315:

388a0c0934b74094909bda63b2868c26.png


DSlave02-315 ping DMaster315 DSlave01-315:

7ef3abab7f5f4d668e23090256e9b1aa.png


可以互联互通,接下来传送文件


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:

38e2b196664a47a7a6a9cd0110acf255.png


传送给DSlave02-315:

576bf9d9753540e4870c47d09f3b376c.png


step6 格式化节点


在三台机器分别执行:

hadoop namenode -format

DMaster315:

39fad04a766d4090841b7adda1ce5167.png


DMaster315格式化成功:

1de8b738ba6b432c9a3d27e2050e849d.png


DSlave01-315 格式化成功:

c2bb4ee8e939467ba551778440eb5944.png


DSlave02-315 格式化成功:

ac4a8157d4c5475eb9b0b033b5eae8ba.png


step7 开启集群查看状态


开启集群


经典命令(应该记住的):

/usr/local/hadoop/sbin/start-all.sh

现在切换到Dmaster315开启集群:

在中途输入了一个yes,应该是首次没有确认的原因


3ed6c665a305429fb6569974d59fc678.png


Jps信息查看:

DMaster315:

2f5d9d0d59574bc1946a87e81b951f58.png


DSlave01-315:

15c5728fb7c84760971d0ccf0a0dd9cb.png


DSlave02-315:

00edd610c3724a5abdaa36d0fa40517c.png


与预期设计一致~

3a8f005014974b018678811c5e140ebf.png


查看运行状况


hadoop dfsadmin -report

d4e10d96063544c0b0e576a9e8a7e90d.png


e8c5509407b14a60b726a37f97c20d4d.png


datanode三个节点全有,配置齐全~

到DSlave01-315查看:

95f73b93694b4d1e8a9b5b2d1b2eb877.png


datanode三个节点全有,配置齐全~

到DSlave02-315查看:

32705efb01d84130b5dde975b327a0a3.png


datanode三个节点全有,配置齐全~


Web UI查看集群状态


进入虚拟机主机名的50070端口:

master315:50070

c0239c60cd2b46c38b7de3d3c8e30a55.png


d2988138d27c46788ace674e4295d490.png


三个节点都有,配置齐全~


27a432aa44c24924b4c2591a923c617e.png


a21723c2a0954f6dbbdfe18b845ca18f.png


到这里,Docker上配置Hadoop集群配置完成,下面运行WordCount测试一下


***bug fix2.0 重启容器后,防火墙再次重启,影响集群正常工作


在博主重启完虚拟机之后(意味着容器也重启了),这个时候当博主再次启动集群之后,发现live datanode显示为1,当在两个DSlave01-315,DSlave02-315上进行操作的时候,发现从机无法与主机通过9000端口进行信息传输

错误如下:


3746de06f01a4dab92411229c8ea972e.png


发现Live datanodes为1不正常,到其他节点也出了问题:

4bbc204553eb4a94b85cf42f7af64a3b.png


76b27c0f0ade4f1cbb35e02acf8de09e.png


原因是因为容器重启导致的之前防火墙设置的失效,所以我们要进行修改~/.bashrc,使得一旦开启容器,便将防火墙关闭,解决方式如下:

DMaster315、DSlave01-315、DSlave02-315中的~/.bashrc添加:

vi ~/.bashrc


systemctl stop iptables.service


step8 运行wordCount


在DMaster315 运行:

hadoop fs -mkdir /input

hadoop fs -ls /

b70e923ced634b2e9c9cd3d2cb3de45a.png


cd /usr/local/hadoop

touch in.txt

vim in.txt

写点东西进去

1063dc774c604edd8b1c92a5a662f658.png


in.txt文件添加到hdfs /input/下:

hadoop fs -put in.txt /input/


4a72d559e8a54877abb964367218ed3b.png


提交:

注意切换到和博主同样的目录具体可见下图:

cd share/hadoop/mapreduce


12f95b47cc4f41f6b1fa9cd400aec8ba.png


提交命令:

hadoop jar hadoop-mapreduce-examples-2.7.6.jar \
wordcount  /input  /output 


提交之后:

0c7b8de69bde45c58b61e1e144177ed6.png


查看结果:

e3a29e5b3d4b43b7a2603d54d2195588.png


状态显示成功

命令查看:

hadoop fs -cat /output/part-r-00000

d6a95e3d740049919f9a1223aa2b6173.png


结果正确!

关闭集群

0aed0d9104ff4d9f91448ea1e05ce417.png


如果有的地方不对,请及时联系/评论/私信博主进行修改

更文不易,麻烦点个赞


分享下一篇文章:

阿里云镜像服务关联Github上传Docker容器制作的镜像 链接


文章知识点与官方知识档案匹配,可进一步学习相关知识

云原生入门技能树容器(docker)安装docker1151 人正在系统学习中

目录
相关文章
|
1天前
|
运维 Linux 虚拟化
Docker详解(三)——Docker安装与部署
Docker详解(三)——Docker安装与部署
29 4
|
2天前
|
测试技术 Linux Docker
【好玩的经典游戏】Docker部署FC-web游戏模拟器
【好玩的经典游戏】Docker部署FC-web游戏模拟器
27 1
|
2天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
6天前
|
存储 测试技术 文件存储
【Docker项目实战】使用Docker部署Sun-Panel导航面板
【4月更文挑战第19天】使用Docker部署Sun-Panel导航面板
58 7
|
8天前
|
分布式计算 负载均衡 Hadoop
Hadoop集群节点添加
Hadoop集群节点添加
|
9天前
|
测试技术 Linux 网络安全
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
【4月更文挑战第16天】使用Docker部署SyncTV视频同步和共享平台
49 1
|
11天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
12天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
41 9
|
13天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署Seatsurfing预订座位系统
【4月更文挑战第12天】使用Docker部署Seatsurfing预订座位系统
38 3