执行hdfs namenode -bootstrapStandby的时候报错如下
java.io.IOException: java.lang.IllegalStateException: Could not determine own NN ID in namespace 'mycluster'. Please ensure that this node is one of the machines listed as an NN RPC address, or configure dfs.ha.namenode.id
at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:428)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1482)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1582)
Caused by: java.lang.IllegalStateException: Could not determine own NN ID in namespace 'mycluster'. Please ensure that this node is one of the machines listed as an NN RPC address, or configure dfs.ha.namenode.id
at com.google.common.base.Preconditions.checkState(Preconditions.java:172)
at org.apache.hadoop.hdfs.HAUtil.getNameNodeIdOfOtherNode(HAUtil.java:164)
at org.apache.hadoop.hdfs.HAUtil.getConfForOtherNode(HAUtil.java:187)
at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.parseConfAndFindOtherNN(BootstrapStandby.java:391)
at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:104)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:423)
... 2 more
错误信息里面说找不到NN id,这里我的nn是克隆出来的,所以查看hosts文件,是因为没有添加该节点的IP映射
[xiaoqiu@s150 /etc]$ xcall.sh "cat /etc/hosts"
====s150 =====
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.109.150 s150
192.168.109.151 s151
192.168.109.152 s152
192.168.109.153 s153
====s151 =====
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.109.150 s150
192.168.109.151 s151
192.168.109.152 s152
192.168.109.153 s153
====s152 =====
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.109.150 s150
192.168.109.151 s151
192.168.109.152 s152
192.168.109.153 s153
====s153 =====
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.109.150 s150
192.168.109.151 s151
192.168.109.152 s152
192.168.109.153 s153
应该使得每台主机的hosts文件都具有其他节点的IP映射