HDFS 安装部署踩坑记:namenode1完成初始化并添加目录,namenode2 not formated

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

image

 

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

image

 

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

b10c15de2a43fa05932874c05e58aa6

 执行如下命令进行授权,授权完成后,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,出现如下信息说明初始化成功

image

 

三、总结
​至此,hdfs集群已经成功启动

posted @ 2025-08-06 14:02  蓬莱寒剑  阅读(19)  评论(0)    收藏  举报