【发布时间】:2021-12-20 19:57:06
【问题描述】:
我在 CentOS 8 虚拟机中有一个 3 节点 HA 集群。我正在使用 ZK 3.7.0 和 Hadoop 3.3.1。 在我的集群中,我有 2 个名称节点,节点 1 是活动名称节点,节点 2 是备用名称节点,以防节点 1 下降。另一个节点是datanode 我只是从命令开始
start-dfs.sh
在 node1 中,我运行了以下进程:NameNode、Jps、QuorumPeerMain 和 JournalNode 在 node2 中,我运行了以下进程:NameNode、Jps、QuorumPeerMain、JournalNode 和 DataNode。
我的 hdfs-site.xml 配置如下:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/datos/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/datos/datanode</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>ha-cluster</value>
</property>
<property>
<name>dfs.ha.namenodes.ha-cluster</name>
<value>nodo1,nodo2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ha-cluster.nodo1</name>
<value>nodo1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ha-cluster.nodo2</name>
<value>nodo2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.ha-cluster.nodo1</name>
<value>nodo1:9870</value>
</property>
<property>
<name>dfs.namenode.http-address.ha-cluster.nodo2</name>
<value>nodo2:9870</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://nodo3:8485;nodo2:8485;nodo1:8485/ha-cluster</value>
</property>
问题在于,由于 node2 是备用名称节点,我不希望它运行 DataNode 进程,所以我杀死了它。我使用了命令 kill -9 (我知道这不是最好的方法,我应该使用 hdfs --daemon stop datanode)。 然后我进入hadoop网站查看我有多少个datanode。在node1(活动的namenode)Hadoop网站中,在datanode部分我只有1个datanode,node3。 问题是在node2(备用namenode)的Hadoop网站上是这样的:
如果你看不到图片:
default-rack/nodo2:9866 (192.168.0.102:9866) http://nodo2:9864 558s
/default-rack/nodo3:9866 (192.168.0.103:9866) http://nodo3:9864 1s
node2 数据节点已经有 558 秒没有存活,它不会认为该节点是死的。 有人知道为什么会这样吗??
【问题讨论】:
标签: hadoop apache-zookeeper webhdfs