我在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版本
谢谢!!!
答案 0 :(得分:0)
我解决了这个问题。问题是由于protobuf版本不匹配。
Impala直接使用HDFS而无需借助mapreduce框架。因此,为了彼此交谈,他们需要使用通用的protobuf版本,因为不同的protobuf版本的消息格式是不同的。
解决方案: -
使用相同的protobuf版本编译impala和hadoop 或
- 醇>
将Hadoop / Hive / Impala用于相同的CDH版本。