我已经在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”;目标主机是:“localhost”:54310;
我了解HADOOP 2使用的是protobuf版本2.5,但是我安装的impala使用的是protobuf版本2.4。
请帮我解决这个问题。
如何安装与Impala一起使用的Hadoop 2.x版本?
谢谢 !!!
最佳答案
我解决了这个问题。问题是由于protobuf版本不匹配。
Impala直接使用HDFS,而无需借助mapreduce框架。因此,为了彼此交谈,他们需要使用通用的protobuf版本,因为不同的protobuf版本的消息格式是不同的。
http://archive.cloudera.com/impala/
http://archive.cloudera.com/cdh4/cdh/4/
关于ubuntu - InvalidProtocolBufferException:在Impala上连接到Hadoop 2.x.x,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31590444/