Hadoop HA 完全分布式集群搭建(ZooKeeper)

4 篇文章 0 订阅
3 篇文章 0 订阅

学了大半个月hadoop,现在来完整搭建并测试一遍HA集群,本文总共使用了三台CentOS 7.9服务器:hadoop102 hadoop103 hadoop104,hadoop版本为3.2.3,ZK版本为3.5.9,JDK版本为1.8;以下是本次实验所配置的环境变量

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_321
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.2.3

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

具体的HA配置信息以及使用到的自定义Shell脚本在下一篇博客发出


第一步:使用自己写的 xcall shell脚本同时让所有服务器初始化启动JN
JN
第二步:初始化hadoop102的namenode
在这里插入图片描述
第三步:开启hadoop102的namenode服务
在这里插入图片描述
第四步:以standby状态同步hadoop102的namenode来初始化hadoop103 hadoop104的namenode

hdfs namenode -bootstrapStandby

在这里插入图片描述
在这里插入图片描述
第五步:关闭HDFS服务
在这里插入图片描述
第六步:通过自己写的 zk shell脚本开启所有服务器上的ZooKeeper
在这里插入图片描述
第七步:初始化ZK(在哪台服务器初始化ZK都可以),主要是用于创建监控HA集群节点目录,如果之前创建过HA集群节点目录则会提示你是否覆盖原目录,按Y选择format原目录然后继续初始化;至此初始化工作已经完成,可以开始正式启动HA集群

hdfs zkfc -formatZK

在这里插入图片描述
第八步:启动所有节点的JN服务,然后再通过官方脚本启动HDFS;注意这里之所以要先启动JN是因为:如果通过官方启动脚本启动HDFS,则会先启动NameNode和DataNode,再启动JN,这里启动NN的时候会先跟JN进行RPC心跳连接,如果默认10秒之后JN还没有被启动,NN则会认为无法连接JN从而报错,这里也可以手动修改core-site.xml的NN连接JN的心跳重连配置

<!-- NN 连接 JN 重试次数,默认是 10 次 -->
<property>
<name>ipc.client.connect.max.retries</name>
<value>10</value>
</property>
<!-- 重试时间间隔,默认 1s -->
<property>
<name>ipc.client.connect.retry.interval</name>
<value>1000</value>
</property>

在这里插入图片描述
第九步(可跳过):查看此时HDFS的 active NN 节点,下图显示此时是hadoop103为 active NN 节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第十步:启动yarn,由于此时三台服务器都是RM,所以无论在哪台服务器上启动yarn都可以
在这里插入图片描述
在这里插入图片描述
第十一步(可跳过):测试HDFS是否正常
在这里插入图片描述
在这里插入图片描述
第十二步(可跳过):测试MapReduce和Yarn是否正常
在这里插入图片描述
在这里插入图片描述
可以发现日志聚集功能也正常
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值