当前位置: 首页 > 知识库问答 >
问题:

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

阎裕
2023-03-14
22437 DataNode
22988 ResourceManager
24668 Jps
22748 SecondaryNameNode
23244 NodeManager
19693 DataNode
19966 NodeManager

这给了我错误日志

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/hdfsdfs-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地址

共有1个答案

连翰
2023-03-14

有这么多的原因可能导致我面临的问题。但我最终用以下一些东西修复了它。

  1. 确保对/HadoopHDFS临时文件具有所需的权限。(您必须找出您的病人的情况)
  2. $HADOOP_CONF_DIR/core-site.xml中的fs.defaultfs删除端口号。应该如下所示:
`<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>

瞧!你现在应该开始运行了!

 类似资料:
  • 消息协议 节点之间通过消息来进行交互,所有消息都由下面的数据结构来实现。 message Message { enum Type { UNDEFINED = 0; DISC_HELLO = 1; DISC_DISCONNECT = 2; DISC_GET_PEERS = 3; DISC_PEERS = 4;

  • 如果我们有多个使用者并且希望执行pub-sub消息传递,那么我们应该为每个消息类型创建一个主题,为每个消息类型的使用者创建一个订阅,还是只为所有消息创建一个主题,然后在使用者上处理路由?

  • 我编写了一个服务器(Go)-客户端(Java)程序,并使用protobuf进行通信。定义一个proto文件并在服务器和客户端之间共享。在服务器端: 将共享的proto文件编译为go by Protoc 按proto.marshal序列化对象 将其发送给对其服务提出请求的客户端 在客户端: 通过protoc将共享的proto文件编译成Java 通过HTTP传输获取字节 将字节反序列化为对象。 这里有

  • 问题内容: 我一直在获取以下堆栈跟踪信息,并且不确定这意味着什么。 “协议消息端组标签与预期标签不匹配”是什么?意思? 什么是“消息端组标签”? 这是在某处记录的吗? 问题答案: protobuf中的组被写为开始/结束数字对-有点像需要a ,但是格式不同。本质上,它抱怨它找到了一个替代项(只是:xml只是一个隐喻)。详细信息在编码规范中,但总的来说是以下之一: 数据本身是损坏的(由于错误的编码器造

  • 问题内容: 我有一个协议,该协议继承自另一个协议,并且满足扩展要求。 还有另一种协议,其要求()应该为。 现在,如果我尝试使用as ,那么它将无法编译。它说, 推断的类型“地址”(通过匹配要求“ valueForDetail”)无效:不符合“ Validator”。 这种用法非法吗?我们不能像所有的那样用它代替。 下面是我正在尝试的代码。 更新: 提交了一个错误。 问题答案: David已经提到的

  • 问题内容: 请参见下面的自包含示例。编译器在最后一行(由标记为)报告错误,在该行中,我将实例分配给它(根据我的最佳判断)符合的协议类型。如何编译?我究竟做错了什么?还是这个编译器问题? 编辑: 即使我明确地向下转换了上面的返回类型(以便上面的代码片段的最后一行读取),如安东尼奥在调用函数时仍然存在编译错误: 问题答案: 首先,您想从devforums上读到规范的线程。您特别想跳过阅读jckarte