Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop协议消息标记的导线类型无效_Hadoop_Network Connection - Fatal编程技术网

hadoop协议消息标记的导线类型无效

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

我在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示例

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
    `
    
  • 将以下两个属性添加到“$HADOOP\u CONF\u DIR/hdfs-site.xml”中
  • 
    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>