因为 hadoop 集群之间通过主机名互相访问,所以必须设置 dns 解析。使用 gedit 编辑
dns 解析文件
在文本最后追加一行, “192.168.80.100 hadoop” ,注意 ip 与主机名之间使用空格分
2016-07-31 21:47:24,985 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.net.BindException: Problem binding to hadoop/192.168.80.100:9000 : Cannot assign requested address
at org.apache.hadoop.ipc.Server.bind(Server.java:228)
at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:302)
at org.apache.hadoop.ipc.Server.<init>(Server.java:1488)
at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:560)
at org.apache.hadoop.ipc.RPC.getServer(RPC.java:521)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:302)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:536)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1410)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1419)
Caused by: java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.hadoop.ipc.Server.bind(Server.java:226)
... 8 more
最近在编写报表系统,闲时对linux的配置做了一些调整,配置了NAT访问外网的ip自动获取,然后配置了nginx,这几天再启动hadoop是保错上面的hadoop的日志,发现是主机的映射的问题
即本机现在ip为192.168.106.132
在hosts加入
192.168.106.132 hadoop即可