大家知道Hadoop不能直接进行多次格式化,多次格式化($ hdfs namenode -format)会造成没有datanode,每次格式化后,namenode节点的clusterID(集群ID)会被新建,而datanode节点的clusterID还是原来的,造成namenode节点和datanode节点的clusterID(集群ID)不一致。那么应该怎样正确地重新格式化我们的Hadoop呢?
以下是正确重新格式化的方法:
a. 停止Hadoop所有进程
$ stop-all.sh
b.删除$HADOOP_HOME目录下的logs和tmp目录(关键步骤)
$ cd $HADOOP_HOME
$ ls
bin include libexec logs README.txt share
etc lib LICENSE.txt NOTICE.txt sbin tmp
$ rm -rf logs tmp
c.重新格式化文件系统
$ hdfs namenode -format
d.启动Hadoop进程
$ start-all.sh
e.确认Hadoop进程是否已开启
$ jps
7366 NameNode
8278 Jps
7640 SecondaryNameNode
7849 ResourceManager
7482 DataNode
7967 NodeManager