RICH-ATONE

Hadoop重新格式化HDFS的方法

操作针对2.7.x版本的Hadoop

1、首先停止已经启动的hadoop

[hadoop@localhost ~]$ stop-all.sh  

 

2、然后查看hadoop配置文件hdfs-site.xml,确定dfs.namenode.name.dir、dfs.datanode.data.dir以及hadoop.tmp.dir所指定的目录,并将其删除。我的hadoop配置的目录都在${HADOOP_HOME}/tmp目录下,故将此目录删除就可以了(注意是删除目录下的内容不是目录)

for i in `cat /home/pirate/list`; do echo $i; ssh $i "rm -rf /home/pirate/programs/hadoop/hadoopdata/dfs/name/current/*" ;done

for i in `cat /home/pirate/list`; do echo $i; ssh $i "rm -rf /home/pirate/programs/hadoop/hadoopdata/dfs/data/current/*" ;done

for i in `cat /home/pirate/list`; do echo $i; ssh $i "rm -rf /home/pirate/programs/hadoop/logs/*" ;done

 

3、启动所有journalnode进程

hadoop-daemon.sh start journalnode

 

4、格式化NameNode (重新格式化意味着集群的数据会被全部删除,格式化前需考虑数据备份或转移问题)

hadoop namenode -format

 

5、在备用namenode节点同步元数据 (执行命令成功后,启动不启动此节点NameNode应该没有影响,可后续start-all的时候顺带启动)

hdfs namenode -bootstrapStandby

 

6.在node01节点让zkfc格式化 Zookeeper

hdfs zkfc -formatZK

 

7.启动hdfs!!!

start-dfs.sh

 

总结:重新格式化集群HDFS的正确方法是将集群中相应的目录都删除,然后执行格式化命令。
1、重新格式化意味着集群的数据会被全部删除,格式化前需考虑数据备份或转移问题;
2、先删除主节点(即namenode节点),Hadoop的临时存储目录tmp、namenode存储永久性元数据目录dfs/name、Hadoop系统日志文件目录log 中的内容 (注意是删除目录下的内容不是目录);
3、删除所有数据节点(即datanode节点) ,Hadoop的临时存储目录tmp、namenode存储永久性元数据目录dfs/name、Hadoop系统日志文件目录log 中的内容;
4、格式化一个新的分布式文件系统:

参考:https://www.jianshu.com/p/a4f4f57ad3d8

posted on 2022-09-27 18:07  RICH-ATONE  阅读(1473)  评论(0编辑  收藏  举报

导航