Hadoop HA集群增加journalnode节点

客户要求要回收一批hadoop集群的一批服务器,万幸namenode和resourcemanager服务没有安装在这批服务器上,但不巧的是3个journalnode节点都在这批服务器上,所以暂时先增加3个journalnode节点,等到回收服务器的时候,再把原来的journalnode节点下线,记录一下操作


1.修改hdfs-site.xml配置文件
原配置为:

<property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://node1:8485;node2:8485;node3:8485/cluster</value>
</property>

修改为:

<property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://node1:8485;node2:8485;node3:8485;node4:8485;node5:8485;node6:8485/cluster</value>
</property>

2.分发hdfs-site.xml文件到各节点

3.将原journalnode上的edits文件scp到新的journalnode节点
从hdfs-site.xml文件中的dfs.journalnode.edits.dir配置项得到edits文件存储路径,scp到新节点的相同路径,注意权限和属主要相同,可以用scp -rp来复制

4.新journalnode节点启动journalnode进程

cd $HADOOP_HOME
sbin/hadoop-daemon.sh start journalnode

jps检查是否启动成功,如果失败就去看$HADOOP_HOME/logs下的journalnode相关的日志,讲道理应该没什么问题

5.把standby(nn2)节点的namenode重启一下

cd $HADOOP_HOME
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh start namenode

6.切换standby节点为active

hdfs haadmin -failover nn1 nn2
hdfs haadmin -getServiceState nn2

7.重启standby(nn1)节点的namenode
操作同5,完成后web界面应该可以看到NameNode Journal Status的journalnode已扩展完成

推荐阅读更多精彩内容