有HIVE方面的高手吗,帮悄悄
本帖最后由 zhaopingzi 于 2013-12-18 17:09 编辑hive和hbase集成后:
hive版本:hive-0.12.0 hbase版本:hbase-0.94.13
hive> INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=86;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:542)
at java.util.Properties.setProperty(Properties.java:161)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:438)
at org.apache.hadoop.hive.ql.exec.Utilities.copyTableJobPropertiesToConf(Utilities.java:1840)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.checkOutputSpecs(FileSinkOperator.java:947)
at org.apache.hadoop.hive.ql.io.HiveOutputFormatImpl.checkOutputSpecs(HiveOutputFormatImpl.java:67)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:889)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:824)
at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:425)
at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:144)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:151)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1414)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1192)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1020)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:888)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:781)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Job Submission failed with exception 'java.lang.NullPointerException(null)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
SELECT * FROM pokes WHERE foo=86;是不报错的 尼玛啊,换版本啊!!!!;开源的这玩意,如果不会编码的话,就是认人宰割;有木有!!!
把HIVE-0.12.0换成0.8.1就好了,我日了去 我也碰到同样的问题了,而且换成hive-0.8.1后,还是NullPointerException,请问你的hadoop版本是多少?是在伪分布式下还是分布式下测试的?
另外我hive-hbase-handler-x.x.x也用了编译版本,还是不行。
源代码显示,空指针问题大概是无法得到一个hbase.table.name字符串定义的常量为key的,Configuration中的值
我的版本是Hdoop-1.0.4 + Hbase-0.92.1 Hive-0.8.1(Hive-0.9.0), 或者Hdoop-1.0.4 + Hbase-0.94.6 + Hive-0.11.0 也测试过,同样的问题。
auxpath设置应该没有问题,Hadoop Hive Hbase单独没有任何问题。不知道哪个诡异的地方设置有问题,或者三个软件都需要自己编译? 回复 3# father1
hadoop1.0.3
zookeeper3.4.3
hbase0.94.13
hive0.8.1
以上4个东西测试了,可以正常
以前装hadoop2.2.0.他爹的,hbase起不来。后换成1.0.3
总的来说,真垃圾,这些玩意如hive和hbase这玩意延迟太大了 本帖最后由 father1 于 2013-12-20 00:08 编辑
回复 4# zhaopingzi
hadoop1.0.4
zookeeper3.4.5
hbase0.94.13
hive0.8.1
空指针问题依然存在,没有改观,挺头疼的问题。能帮贴一下,你的hbase-site.xml和hive-site.xml配置嘛?
我的hive-site.xml 增加了
<property>
<name>hbase.master</name>
<value>test.master.com:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>test.master.com,test.slave42.com,test.slave43.com</value>
</property>
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/local/hive/lib/hive-hbase-handler-0.8.1.jar,file:///usr/local/hive/lib/hbase-0.94.13.jar,file:///usr/local/hive/lib/zookeeper-3.4.5.jar,file:///usr/local/hive/lib/guava-11.0.2.
jar</value>
</property>
Hadoop Hive Hbase的其他配置还有什么需要特殊注意的嘛?
回复 5# father1
目前还没用到其他特殊的地方;hbase的配置很简单了
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase</value>
</property>
</configuration>
hive的配置和你一样,后面增加了hive.aux.jars.path和hbase.zookeeper.quorum 回复 3# father1
是在真的分布式下 回复 7# zhaopingzi
非常感谢提供信息,Hadoop版本降到1.0.3后,问题解决了。不确定是1.0.4版本有问题,还是我安装的1.0.4版本有问题。Hive版本0.10.0,HBase0.9.4.13。都是直接apache下载之后,没有编译,集成成功,希望这信息对别人也有帮助。 上了贼船,就等着宰割吧 回复 8# father1
-bash-3.2$ hbase shell
敲完后,等半天才出现
hbase(main):001:0> 提示,知道是什么原因吗
页:
[1]