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>