Hadoop HA 重新格式化

该博客详细描述了Hadoop集群的初始化过程,包括停止所有服务、清除数据、格式化NameNode、启动JournalNode服务、同步NameNode、初始化Zookeeper中的HA状态以及最终启动集群服务的步骤。涉及的关键操作包括使用stop-all.sh、rm-rf命令清理,hadoop-daemon.sh启动JournalNode和NameNode,以及使用zkfc-formatZK初始化HA状态。

1.停止hadoop所有服务

HADOOP_HOME/sbin/stop-all.sh 

2.清除所有数据

rm -rf logs/ tmp/

3.清除根目录下hadoop临时文件

rm -rf /tmp/hadoop/

格式化的时候,在 /tmp/hadoop/dfs/journalnode/mycluster/current 目录下不为空。需要在三台机器下进行清空,只在一台是不行的,而且每次格式化还会生成新的文件,再次格式化还需要清空current下的文件。

4.在各台机器上启动journalnode服务

[root@hadoop101 hadoop-3.1.3]# sbin/hadoop-daemon.sh start journalnode
[root@hadoop102 hadoop-3.1.3]# sbin/hadoop-daemon.sh start journalnode
[root@hadoop103 hadoop-3.1.3]# sbin/hadoop-daemon.sh start journalnode

5.在nn1上对namenode进行格式化

[root@hadoop101 hadoop-3.1.3]# bin/hdfs namenode -format

6.同步,启动nn1的namenode,在 nn2和nn3上进行同步

[root@hadoop101 hadoop-3.1.3]# sbin/hadoop-daemon.sh start namenode
[root@hadoop102 hadoop-3.1.3]# bin/hdfs namenode -bootstrapStandby
[root@hadoop103 hadoop-3.1.3]# bin/hdfs namenode -bootstrapStandby
[root@hadoop102 hadoop-3.1.3]# sbin/hadoop-daemon.sh start namenode
[root@hadoop102 hadoop-3.1.3]# sbin/hadoop-daemon.sh start namenode

7.关闭所有hdfs服务

[root@hadoop101 hadoop-3.1.3]# sbin/stop-all.sh 

8.初始化HA在Zookeeper中状态:

[root@hadoop101 hadoop-3.1.3]# bin/hdfs zkfc -formatZK

9.启动集群服务

[root@hadoop101 hadoop-3.1.3]# sbin/start-all.sh 
<think>嗯,用户问的是Hadoop NameNode格式化的教程。我需要先回忆一下Hadoop的相关知识,特别是NameNode的格式化步骤。根据用户提供的引用内容,里面有几点需要注意的地方,比如多次格式化可能导致的问题,HA配置中的顺序,以及JournalNode未启动导致的问题。 首先,我应该先解释NameNode格式化的基本步骤,这是用户最直接的需求。然后,需要强调格式化前的注意事项,因为用户之前可能遇到了多次格式化导致的问题,引用[1]提到多次初始化可能让DataNode或NameNode无法启动,所以必须提醒用户谨慎操作,确保是首次初始化或者已经清空数据。 接下来,分步骤说明格式化过程。普通集群的情况下,使用hdfs namenode -format命令,但如果是HA高可用集群,情况会更复杂。引用[2]和[3]提到HA集群需要在正确的节点上格式化,并且要确保JournalNode已经启动。所以步骤里需要包括启动JournalNode,然后在其中一个NameNode上格式化,接着同步到另一个节点。这里要特别注意顺序,避免因为顺序错误导致的问题。 然后,启动集群的部分也要详细说明,比如先启动JournalNode,再格式化,然后启动各个组件。用户可能遇到的问题比如格式化失败,引用[3]指出JournalNode未启动会导致问题,所以需要提醒用户检查这些服务是否运行。 最后,常见问题部分需要涵盖多次格式化的后果,如何清理数据,以及HA集群中的注意事项。用户提供的引用中有多次格式化导致的问题,所以需要强调不要重复格式化,除非必要,并且清理数据目录。此外,HA集群中两个NameNode的同步问题也要提到,避免配置错误。 生成相关问题的时候,应该围绕用户可能进一步想知道的内容,比如多次格式化的影响、HA集群的步骤、格式化失败的原因以及如何清理数据。这样可以帮助用户更全面地理解问题,避免他们再次遇到类似的困扰。</think>### Hadoop NameNode格式化操作指南 --- #### **一、格式化前的注意事项** 1. **仅首次部署时需格式化**:重复执行格式化会清空元数据,导致DataNode与NameNode数据不一致[^1] 2. **HA集群需特殊处理**:高可用集群需先启动JournalNode服务,否则会导致格式化失败[^3] 3. **数据备份**:格式化会删除所有HDFS数据,操作前确认数据已迁移 --- #### **二、标准格式化步骤(非HA集群)** ```bash # 1. 进入Hadoop安装目录 cd $HADOOP_HOME # 2. 执行格式化命令 hdfs namenode -format # 3. 启动HDFS start-dfs.sh ``` 格式化成功会显示: $$ \text{Storage directory /.../namenode has been successfully formatted} $$ --- #### **三、HA集群格式化流程[^2]** ```bash # 1. 在所有JournalNode节点启动服务 hadoop-daemon.sh start journalnode # 2. 在第一个NameNode执行格式化 hdfs namenode -format -clusterId <自定义集群ID> # 3. 启动第一个NameNode hadoop-daemon.sh start namenode # 4. 在第二个NameNode同步数据 hdfs namenode -bootstrapStandby # 5. 启动ZooKeeper Failover Controller hdfs zkfc -formatZK ``` --- #### **四、验证操作** 1. 检查日志文件: $$ \text{查看logs/hadoop-*-namenode-*.log} $$ 2. 检查Web界面: ```http http://<namenode-ip>:9870 ``` 3. 执行健康检查: ```bash hdfs dfsadmin -report ``` --- #### **五、常见问题处理** 1. **多次格式化导致启动失败**:需删除所有节点的`/tmp/hadoop-*`目录和`hdfs-site.xml`中配置的存储目录 2. **HA集群格式化失败**:确认已启动3个JournalNode节点 3. **端口冲突**:检查`9870`(Web)和`8020`(RPC)端口占用情况 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值