InvalidProtocolBufferException:on Impala连接到Hadoop 2.x.x

时间:2015-07-23 14:33:36

标签: ubuntu hadoop cloudera cloudera-cdh impala

我在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,status;主机详细信息:本地主机是:" localhost / 127.0.0.1&#34 ;;目的地主机是:" localhost":54310;

我知道HADOOP 2正在使用protobuf 2.5版,但我安装的impala使用的是protobuf 2.4版。

请帮我解决这个问题。

如何安装使用Impala的Hadoop 2.x版本

谢谢!!!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。问题是由于protobuf版本不匹配。

Impala直接使用HDFS而无需借助mapreduce框架。因此,为了彼此交谈,他们需要使用通用的protobuf版本,因为不同的protobuf版本的消息格式是不同的。

  

解决方案: -

     
      
  1. 使用相同的protobuf版本编译impala和hadoop   或

  2.   
  3. 将Hadoop / Hive / Impala用于相同的CDH版本。

  4.   

http://archive.cloudera.com/impala/

http://archive.cloudera.com/cdh4/cdh/4/