Chinaunix首页 | 论坛 | 博客
  • 博客访问: 843055
  • 博文数量: 190
  • 博客积分: 2991
  • 博客等级: 少校
  • 技术积分: 2400
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-24 18:11
文章分类

全部博文(190)

文章存档

2015年(3)

2014年(1)

2013年(65)

2012年(121)

我的朋友

分类: 敏捷开发

2013-01-15 16:25:37

原来在vmworkstation上部署了3台hadoop的分布式环境,运行一切正常。因为资源问题,我把其中一台的vm文件copy到另外一台实体机上,一共copy了3分,又打算部署一个同样的hadoop分布式环境。配置好ssh互相认证授权,机器建可以互相访问。所有配置都没有,除了机器名,相应改掉core-site.xml, mapred-site.xml里面的机器名称。执行start-all.sh,但namenode启动一会就挂了,报如下错误:
  1. .......
  2. InterruptedException.java.lang.InterruptedException: sleep
  3. interrupted2010-05-21 01:02:37,555 INFO
  4. org.apache.hadoop.hdfs.server.namenode.DecommissionManager:
  5. Interrupted Monitorjava.lang.InterruptedException: sleep interrupted
  6.         at java.lang.Thread.sleep(Native Method)
  7.         at org.apache.hadoop.hdfs.server.namenode.DecommissionManager$Monitor.run(DecommissionManager.
  8. java:65)
  9.         at java.lang.Thread.run(Thread.java:619)
  10. .......
  11.  
  12. ERROR
  13. org.apache.hadoop.hdfs.server.namenode.NameNode:
  14. java.net.BindException:
  15.  Cannot assign requested address
  16.         at sun.nio.ch.Net.bind(Native Method)
  17.         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
  18.         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
  19.         at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
  20.         at org.apache.hadoop.http.HttpServer.start(HttpServer.java:424)
  21.         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机器名。
  1.       dfs.http.address
  2.    master35:50070
再重启,好了。搞了我很久的问题,但我还是很奇怪我已经comment掉了,应该不会生效的啊,神了。
阅读(1469) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~