`
li.oo
  • 浏览: 50403 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

搬迁vm导致hadoop namenode启动失败的问题

 
阅读更多

原来在vmworkstation上部署了3台hadoop的分布式环境,运行一切正常。因为资源问题,我把其中一台的vm文件copy到另外一台实体机上,一共copy了3分,又打算部署一个同样的hadoop分布式环境。配置好ssh互相认证授权,机器建可以互相访问。所有配置都没有,除了机器名,相应改掉core-site.xml, mapred-site.xml里面的机器名称。执行start-all.sh,但namenode启动一会就挂了,报如下错误:

 

.......

 

InterruptedException.java.lang.InterruptedException: sleep

interrupted2010-05-21 01:02:37,555 INFO

org.apache.hadoop.hdfs.server.namenode.DecommissionManager:

Interrupted Monitorjava.lang.InterruptedException: sleep interrupted

        at java.lang.Thread.sleep(Native Method)

        at org.apache.hadoop.hdfs.server.namenode.DecommissionManager$Monitor.run(DecommissionManager.

java:65)

        at java.lang.Thread.run(Thread.java:619)

.......

 

ERROR

org.apache.hadoop.hdfs.server.namenode.NameNode:

java.net.BindException:

 Cannot assign requested address

        at sun.nio.ch.Net.bind(Native Method)

        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)

        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)

        at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)

        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:424)

        at org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:246)

 

 

网上找了很多资料,有说hosts里面机器名不对,应该改成domain,或者拿掉localhost这一行,也有说防火墙没关闭等等。但尝试过都还是不行。

 

最后上一个外国网站发现说是因为dfs.http.address指向的IP有问题,指向了本地IP,而应该是非本地IP。我记得我自己并没有配置这个property,但还是

检查下hdfs-site.xml,发现之前我配置过这个属性,IP指向另一个IP,但我把这个属性用“#” comment掉了,怎么还会生效呢。我拿掉comment,把

IP改成我新配的namenode机器名。

 

 

<property>

 

      <name>dfs.http.address</name>

 

   <value>master35:50070</value>

 

</property>


再重启,好了。搞了我很久的问题,但我还是很奇怪我已经comment掉了,应该不会生效的啊,神了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics