我在使用Hadoop-2.7.6,想建立全分布式的,我给了3个虚拟机服务器,他们只能使用32222端口。
在etchosts中。
1xx.xxx.xxx.xx1 namenode
1xx.xxx.xxx.xx2 slave1
1xx.xxx.xxx.xx3 slave2
然后在core-site.xml中。
<property>
<name>fs.default.name</name>
<value>hdfs://namenode:32222</value>
</property>
但当我执行 hdfs dfs -ls
,
ls: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.; Host Details : local host is: "hostname/xxx.xxx.xxx.xxx"; destination host is: "namenode":32222
此外,当我执行了 start-all.sh
Starting namenodes on [namenode]
然后其他slave节点发生time out.如何解决这个问题?
属性 fs.default.name
已被废弃,取而代之的是 fs.defaultFS
https:/stackoverflow.coma304809847857701。
<property>
<name>fs.defaultFs</name>
<value>hdfs://namenode:32222</value>
</property>