InvalidProtocolBufferException:关于 Impala 连接到 Hadoop 2.x.x
InvalidProtocolBufferException: on Impala connecting to Hadoop 2.x.x
我已经在 ubuntu 12.04 64 位版本中安装了来自 http://archive.cloudera.com/impala/ubuntu/precise/amd64/impala/pool/contrib/i/impala/ 的 CDH Hadoop hadoop-2.5.0-cdh5.3.2 和 impala 2.1。
我配置了 hadoop 和 impala。
我想使用 impala 直接在 hdfs 上查询 csv。
我的 hadoop 和 hdfs 已经完美启动 运行 .
但是每当我试图弥补 Impala 时,我都会收到以下错误。
因本地异常而失败:com.google.protobuf.InvalidProtocolBufferException:消息缺少必填字段:callId、状态;主机详细信息:本地主机是:"localhost/127.0.0.1";目标主机是:"localhost":54310;
我知道 HADOOP 2 使用的是 protobuf 2.5 版,但是我安装的 impala 使用的是 protobuf 2.4 版。
请帮我解决这个问题。
如何安装与 Impala 一起使用的 Hadoop 2.x 版本 ???
谢谢!!!
我解决了这个问题。问题是由于 protobuf 版本不匹配。
Impala是直接使用HDFS,没有借助mapreduce框架。所以为了互相交谈,他们需要使用通用的 protobuf 版本,因为不同的 protobuf 版本的消息格式是不同的。
Solution:-
Compile both impala and hadoop using same protobuf version .
Or
Use a Hadoop/Hive/Impala for the same CDH version .
我已经在 ubuntu 12.04 64 位版本中安装了来自 http://archive.cloudera.com/impala/ubuntu/precise/amd64/impala/pool/contrib/i/impala/ 的 CDH Hadoop hadoop-2.5.0-cdh5.3.2 和 impala 2.1。
我配置了 hadoop 和 impala。
我想使用 impala 直接在 hdfs 上查询 csv。
我的 hadoop 和 hdfs 已经完美启动 运行 .
但是每当我试图弥补 Impala 时,我都会收到以下错误。
因本地异常而失败:com.google.protobuf.InvalidProtocolBufferException:消息缺少必填字段:callId、状态;主机详细信息:本地主机是:"localhost/127.0.0.1";目标主机是:"localhost":54310;
我知道 HADOOP 2 使用的是 protobuf 2.5 版,但是我安装的 impala 使用的是 protobuf 2.4 版。
请帮我解决这个问题。
如何安装与 Impala 一起使用的 Hadoop 2.x 版本 ???
谢谢!!!
我解决了这个问题。问题是由于 protobuf 版本不匹配。
Impala是直接使用HDFS,没有借助mapreduce框架。所以为了互相交谈,他们需要使用通用的 protobuf 版本,因为不同的 protobuf 版本的消息格式是不同的。
Solution:-
Compile both impala and hadoop using same protobuf version .
OrUse a Hadoop/Hive/Impala for the same CDH version .