这让我发疯了。我已经做了好几天了,似乎无法解决这个问题。我在eucalyptus上运行私有云进行测试,4个虚拟机运行Ubuntu 12.04。我试图让cloudera运行HDFS和map-reduce但是当我尝试启动它时,数据节点似乎永远不能与名称节点通信。它安装得很好并通过了所有的发布前检查。主机文件都设置为127.0.0.1 localhost,其他vms的ip和主机名,防火墙全部禁用,安全组设置为允许所有内容。我可以使用telnet连接到数据节点到名称节点的8022端口,名称节点上的netstat如下所示:
tcp 0 0 172.31.254.119:9000 0.0.0.0:* LISTEN 6519 / python
tcp 0 0 0.0.0.0:7432 0.0.0.0:* LISTEN 5672 / postgres
tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 6538 / python
tcp 0 0 172.31.254.119:50090 0.0.0.0:* LISTEN 8694 / java
tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 5680 / java
tcp 0 0 0.0.0.0:7182 0.0.0.0:* LISTEN 5680 / java
tcp 0 0 172.31.254.119:8020 0.0.0.0:* LISTEN 8689 / java
tcp 0 0 172.31.254.119:50070 0.0.0.0:* LISTEN 8689 / java
tcp 0 0 172.31.254.119:8022 0.0.0.0:* LISTEN 8689 / java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 576 / sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 5486 / postgres
tcp6 0 0 ::: 7432 ::: * LISTEN 5672 / postgres
tcp6 0 0 ::: 22 ::: * LISTEN 576 / sshd
但我一直得到的错误是:
无法发布事件:SimpleEvent {attributes = {STACKTRACE = [org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException): Datanode拒绝与namenode通信: DatanodeRegistration(172.31.254.110 ,storageID = DS-1259113373-172.31.254.110-50010-1378398035331,infoPort = 50075,ipcPort = 50020,storageInfo = lv = -40; cid = cluster9; nsid = 46459994; c = 0 )
我非常感谢任何拥有更多Linux / cloudera / eucalyptus经验的人的建议。
谢谢大家。
答案 0 :(得分:1)
您已指定使用环回,但DN将自己标识为172.31.254.110。使用正确的主机名而不是127.0.0.1。为了更安全,请将每台计算机的主机名和IP添加到所有其他计算机的/ etc / hosts文件中。如果问题仍然存在,请告诉我您的配置文件。