hadoop部署完成各结点可启动:

但是访问webui端口显示alive结点为0个:

查看日志:
docker logs hadoop-datanode-1

这意味着Datanode之前已经格式化并生成了一个集群ID,而Namenode有另一个集群ID。在Hadoop中,Datanode必须与Namenode具有相同的集群ID才能加入集群。
解决此问题的方法通常是删除Datanode的数据目录并重新启动Datanode,这样它就会从Namenode获取新的集群ID。但是,请注意,这将删除Datanode上的所有数据。
# 进入datanode容器(使用hadoop-datanode-1容器名)
docker exec -it hadoop-datanode-1 bash
# 删除数据目录(根据日志路径)
rm -rf /tmp/hadoop-hadoop/dfs/data
# 退出容器
exit
# 重启datanode容器
docker restart hadoop-datanode-1


启动成功