hadoop协议消息标记的导线类型无效
我在Ubuntu12.04上使用两个节点(每个节点有8个内核)建立了Hadoop2.6集群hadoop协议消息标记的导线类型无效,hadoop,network-connection,Hadoop,Network Connection,我在Ubuntu12.04上使用两个节点(每个节点有8个内核)建立了Hadoop2.6集群sbin/start dfs.sh和sbin/start warn.sh都成功了。我可以在主节点上的jps之后看到以下内容 22437 DataNode 22988 ResourceManager 24668 Jps 22748 SecondaryNameNode 23244 NodeManager 从属节点上的jps结果为 19693 DataNode 19966 NodeManager 然后运行PI
sbin/start dfs.sh
和sbin/start warn.sh
都成功了。我可以在主节点上的jps
之后看到以下内容
22437 DataNode
22988 ResourceManager
24668 Jps
22748 SecondaryNameNode
23244 NodeManager
从属节点上的jps
结果为
19693 DataNode
19966 NodeManager
然后运行PI示例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 30 100
这给了我错误日志
java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.; Host Details : local host is: "Master-R5-Node/xxx.ww.y.zz"; destination host is: "Master-R5-Node":54310;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:772)
at org.apache.hadoop.ipc.Client.call(Client.java:1472)
at org.apache.hadoop.ipc.Client.call(Client.java:1399)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
at com.sun.proxy.$Proxy9.getFileInfo(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:752)
HDFS文件系统似乎存在问题,因为尝试命令bin/HDFS dfs-mkdir/user
失败,出现类似的异常
java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.; Host Details : local host is: "Master-R5-Node/xxx.ww.y.zz"; destination host is: "Master-R5-Node":54310;
其中xxx.ww.y.zz
是Master-R5-Node的ip地址
我已经检查并遵循了Apache和本站点上的所有建议
尽管花了一周的时间,我还是无法把它修好
谢谢 导致我面临的问题的原因有很多。但我最终还是用下面的一些东西来修复它
/hadoop
和hdfs临时文件所需的权限。(你必须弄清楚你的特殊情况在哪里)
$HADOOP\u CONF\u DIR/core site.xml
中的fs.defaultFS
中删除端口号。应该是这样的:`
fs.defaultFS
hdfs://my.master.ip.address/
名称节点URI
`
dfs.datanode.use.datanode.hostname
假的
dfs.namenode.datanode.registration.ip-hostname-check
假的
瞧!你现在应该开始跑步了
`<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://my.master.ip.address/</value>
<description>NameNode URI</description>
</property>
</configuration>`
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>