当前位置: 首页 > 知识库问答 >
问题:

Hadoop多节点集群。数据节点工作不正常

包丁雨
2023-03-14

我正在将Hadoop部署为多节点集群(分布式模式)。但每个数据节点具有不同的群集 ID。

在从属1上,

java.io.IOException: Incompatible clusterIDs in /home/pushuser1/hadoop/tmp/dfs/data: namenode clusterID = CID-c72a7d30-ec64-4e4f-9a80-e6f9b6b1d78c; datanode clusterID = CID-2ecca585-6672-476e-9931-4cfef9946c3b

在从属2上,

java.io.IOException: Incompatible clusterIDs in /home/pushuser1/hadoop/tmp/dfs/data: namenode clusterID = CID-c72a7d30-ec64-4e4f-9a80-e6f9b6b1d78c; datanode clusterID = CID-e24b0548-2d8d-4aa4-9b8c-a336193c006e

我也遵循了这个链接,Datanode没有正确启动,但我不知道应该选择哪个集群id。如果我选择了任何一个,那么数据节点将在该机器上启动,但不会在另一台机器上启动。而且,当我使用基本命令(hadoop namenode-format)格式化namenode时,每个从节点上的数据节点都会启动,但主机上的namenode不会启动。

共有1个答案

寿翰飞
2023-03-14

数据节点和名称节点的集群 ID 应该匹配,那么只有数据节点才能与 namenode 有效通信。如果您采用命名节点格式,将为命名节点分配新的集群 ID,则数据节点中的集群 ID 将不匹配。

您可以在/home/pushuser1/hadoop/tmp/dfs/data/current/(datanode目录)以及包含ClusterID的namenode目录(/home/pressuser1/hadoop/tmp/dfs/name/current/,基于您为dfs.namenode.name.dir指定的值)中找到VERSION文件。

如果您准备好格式化您的hdfs namenode,停止所有HDFS服务,清除以下目录中的所有文件

rm -rf /home/pushuser1/hadoop/tmp/dfs/data/*  (Need to execute on all data nodes)
rm -rf /home/pushuser1/hadoop/tmp/dfs/name/*

并再次格式化HDFS(< code > Hadoop NameNode-format )

 类似资料:
  • 我正试图在hadoop中设置多节点集群,如何将0个数据阳极作为活动数据阳极,而我的hdfs显示了0个字节的分配 但是nodemanager后台进程正在datanodes上运行 `

  • jps输出正确: 在主机上: 在5个从节点上:

  • 因为每个 Disque 节点都会将自己的配置信息储存在 disque-server 运行的文件夹里面, 而同一个文件夹只能有一份这样的配置信息, 所以如果我们打算同时运行多个节点, 那么就必须在不同的文件夹里面运行 disque-server , 并为每个节点指定不同的端口。 假设我们现在打算运行三个 Disque 节点, 那么首先要做的就是创建三个文件夹, 然后分别在这些文件夹里面运行 disq

  • 根据如何在Ubuntu中安装Apache Hadoop2.6.0(多节点/集群设置),我将Hadoop2.6.0设置为1个主服务器和2个从服务器。毕竟,我在master和slaves上检查了jps,看起来都很好:master上的NameNode、SecondaryNameNode、ResourceManager;和DataNode,从服务器上的NodeManager。但是当我浏览到Hadoopma

  • 需要一些帮助。虽然有很多不同的答案可用,我也尝试了他们,但不能使它工作。我在mac os中本地插入了hadoop,当我尝试编译java程序时,我得到了以下错误。我知道问题出在设置正确的类路径上,但在五月的情况下,提供类路径并没有使其工作。我已经在/usr/local/cellar/hadoop/1.2.1/libexec下安装了hadoop lineindexer.java:6:包org.apac

  • 这些是我机器里的端口。tcp 0 0 0.0.0.0:8088 0.0.0.0:*侦听1001 50434 5765/Java tcp 0 0 0.0.0.0:*侦听1001 45587 5461/Java tcp 0 0 0.0.0.0:*侦听1001 45594 5461/Java tcp 0 0 0.0.0.0:*侦听1001 47365 5765/Java tcp 0 0 0.0.0.0:

  • 我有 2 个 docker 容器运行我的 Web 应用程序和机器学习应用程序,都使用 h2o。最初,我既调用 h2o.init() 又指向同一个 IP:PORT,因此初始化了一个具有一个节点的 h2o 集群。 考虑到我已经训练了一个模型,现在我正在训练第二个模型。在此训练过程中,如果web应用程序调用h2o集群(例如,从第一个模型请求预测),它将终止训练过程(错误消息如下),这是无意的。我尝试为每

  • Disque 以集群模式运行, 每个服务器都是集群中的一个节点, 用户可以运行任意数量的节点, 只要确保每个节点的端口号不同即可。 在默认情况下, 运行 Disque 服务器程序 disque-server 将启动一个端口号为 7711 的 Disque 节点: $ ./disque-server 528:C 28 Apr 11:50:08.519 # Warning: no config fil