我正在学习Hadoop-2.9.2
,尤其是在名称节点HA上。
在第一次设置群集时,我将dfs.namenode.secondary.http-address
放入了hdfs-site.xml
,它可以正常工作。
在阅读this之后,我发现在hadoop HA下不需要第二个namenode。
请注意,在高可用性群集中,备用NameNode也执行 名称空间状态的检查点,因此没有必要 在HA中运行辅助NameNode,CheckpointNode或BackupNode 簇。实际上,这样做将是一个错误。这也允许一个 正在将未启用HA的HDFS群集重新配置为启用HA 重用他们以前专用于的硬件 次要NameNode。
最后,我从hdfs.site.xml中删除了dfs.namenode.secondary.http-address
,并重新启动了群集,但是secondarynamenode
上的0.0.0.0
仍然在那里。
下面是我的hdfs-site.xml。
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/nameNode</value>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/datanode</value>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
hdfs
命令向我显示了以下内容。
$ hdfs getconf -secondarynamenodes
18/12/21 00:35:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0.0.0.0
我确保所有配置文件在所有节点上都是同步的。
根据我的理解,进入HA设置之前,我需要先了解secondarynamenode
。
如果我没记错,我该如何处理?
我确实知道我可以做hadoop-daemon.sh stop secondarynamenode
,但是我不希望它从start-dfs.sh
开始。