hive联合hbase读取 hbase中的数据错误解决

在hive状态下查询select * from test;没有任何错误,能够运行成功,但是运行 select name from test;或者select * from test where 1=1;不能运行成功,报错如下图:

查了不少资料,说可能是hadoop版本问题,需要将

http://master:50060/tasklog?taskid=attempt_201404141243_0002_m_000000_3&start=-8193中的taskid改为attemptid在浏览器中查看,提示缺少什么jar包就添加对应的jar包,

我试着做了,但是输入

http://master:50060/tasklog?attemptid=attempt_201404141243_0002_m_000000_3&start=-8193

又报出如下错误:

继续查资料,网上说解决这个问题是需要修改/home/hadoop/hive-0.9.0/bin/ext/util/execHiveCmd.sh

需要将其中的

HADOOP_HEAPSIZE=4096 修改为 

HADOOP_HEAPSIZE=256

但是对我的问题还是毫无帮助;

后来在我查看hdfs://master:54310/home/hadoop/tmp/mapred/staging/hadoop/.staging/job_201404141519_0001/job.xml任务参数时,无意中发现了问题所在。

修改如下hadoop的mapred-site.xml中的两个参数,重启mapred,问题解决。(声明一下,我的问题可能并不适用于您,仅供参考)

vi mapred-site.xml 修改

<property>
<name>mapred.reduce.child.java.opts</name>
<value>-Xmx512m</value>
</property>
<property>
<name>mapred.map.child.java.opts</name>
<value>-Xmx512m</value>
</property>

 

posted @ 2014-04-14 19:46  逍遥彩上飞  阅读(412)  评论(0编辑  收藏  举报