赞
踩
学了大半个月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
第二步:初始化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是否正常
可以发现日志聚集功能也正常
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。