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

本文涉及的产品
云防火墙,500元 1000GB
简介: 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月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
181 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
1月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
46 3
Hadoop集群配置https实战案例
|
9天前
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
1月前
|
机器学习/深度学习 分布式计算 安全
Hadoop集群常见报错汇总
这篇博客总结了Hadoop集群中可能遇到的各种常见错误,包括Kerberos认证问题、配置错误、权限问题等,并为每个问题提供了详细的错误复现、原因分析以及相应的解决方案。
51 1
Hadoop集群常见报错汇总
|
1月前
|
资源调度 分布式计算 运维
Hadoop集群资源管理篇-资源调度器
详细介绍了Hadoop集群资源管理中的资源调度器,包括资源分配的概念、大数据运维工程师如何管理集群工作负载、资源调度器的背景、Hadoop提供的FIFO、容量调度器和公平调度器三种资源调度器的概述以及它们之间的对比。
71 4
|
1月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
48 2
|
1月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
63 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
存储 分布式计算 负载均衡
|
15天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
195 69
|
2天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
下一篇
无影云桌面