HDFS 安装部署踩坑记:namenode1完成初始化并添加目录,namenode2 not formated
前言
在分布式系统搭建中,HDFS 的安装部署是常见环节,但过程中总会遇到各种问题。本文就来分享一次 HDFS 部署时,namenode2未初始化而 namenode1 已启动的排查与解决经历,希望能帮到有需要的朋友。
一、问题背景
近期搭建小型 Hadoop 集群,计划部署两个 namenode 节点(分别为 namenode 和 namenode1),采用 HA(高可用)模式提升系统可靠性。
安装完成后,通过jps命令发现namenode进程不存在,两台namenode日志中均抛出异常:

二、问题排查过程
2.1 对namenode1进行初始化
初始时/data/**/hdfs/dfs/nn中的数据为空(dfs.name.dir的配置为/data/**/hdfs/dfs/nn)
在节点1上执行hdfs namenode -format命令后,节点1中的/data/**/hdfs/dfs/nn中初始化current文件夹数据,说明命令执行成功。

2.2 目录授权
初始化完成后,发现namenode日志出现如下错误

执行如下命令进行授权,授权完成后,namenode1启动成功。
1 sudo chown -R hadoop:hadoop /data/udp/2.0.0.0/hdfs/dfs/nn 2 sudo chmod -R 755 /data/udp/2.0.0.0/hdfs/dfs/nn
但是namenode2依旧报错未初始化,理论上开启HA(高可用)模式后,各个节点的元数据会保持一致。
2.3 核查配置文件
检查两个节点的HDFS 的核心配置文件(如 hdfs-site.xml、core-site.xml 等)的正确性。
1 core-site.xml: 2 fs.defaultFS 3 dfs.nameservices 4 5 hdfs-site.xml 6 dfs.namenode.name.dir 7 dfs.datanode.data.dir 8 dfs.ha.namenodes.<nameservice> 9 dfs.namenode.rpc-address.<nameservice>.<namenode> 10 dfs.namenode.http-address.<nameservice>.<namenode> 11 dfs.namenode.shared.edits.dir
2.4 确保三台节点的journalNode是否启动
2.5 hdfs namenode -bootstrapStandby 初始化namenode2
在第二个节点上执行命令hdfs namenode -bootstrapStandby,出现如下信息说明初始化成功

三、总结
至此,hdfs集群已经成功启动
本文来自博客园,作者:蓬莱寒剑,转载请注明原文链接:https://www.cnblogs.com/jhans/p/19024970

浙公网安备 33010602011771号