修改RPC端口后HDFS NameNode实例都变为备状态
用户问题
通过页面更改NameNode的RPC端口,随后重启HDFS服务,出现所有NameNode一直是备状态,导致集群异常。
问题现象
所有NameNode都是备状态,导致集群异常。
原因分析
集群安装启动后,如果修改NameNode的RPC端口,则需要重新格式化Zkfc服务来更新zookeeper上的节点信息。
处理步骤
- 登录Manager,停止HDFS服务。
在停止HDFS时,建议不要停止相关服务。
- 停止成功后,登录到被修改了RPC端口的Master节点。
如果两个Master节点都被修改了RPC端口,则只需登录其中一个修改即可。
- 执行su - omm命令切换到omm用户。
如果是安全集群,需要执行kinit hdfs命令进行认证。
- 执行如下命令,将环境变量脚本加载到环境中。
cd ${BIGDATA_HOME}/MRS_X.X.X/1_8_Zkfc/etc
source ${BIGDATA_HOME}/MRS_X.X.X/install/FusionInsight-Hadoop-3.1.1/hadoop/sbin/exportENV_VARS.sh
命令中的“MRS_X.X.X”和“1_8”根据实际版本而定。
- 加载完成后,执行如下命令,格式化Zkfc。
cd ${HADOOP_HOME}/bin
./hdfs zkfc -formatZK
- 格式化成功后,在Manager页面“重启”HDFS服务。
如果更改了NameNode的RPC端口,则之前安装的所有客户端都需要刷新配置文件。