如果集群是第一次启动,需要在配置为NameNode的节点(比如:hadoop102节点)格式化NameNode(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。)
#!/bin/bash
# 用于删除所有节点的data目录、logs目录,用于重新格式化
# 格式化:hdfs namenode -format
myhadoop.sh stop
for host in hadoop102 hadoop103 hadoop104
do
ssh $host rm -rf /opt/module/hadoop-3.1.3/data
ssh $host rm -rf /opt/module/hadoop-3.1.3/logs
ssh $host sudo rm -rf /tmp/*
echo ================$host已删除======================
done
# 重新格式化
hdfs namenode -format