zhaopingzi 发表于 2013-12-18 17:09

有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;是不报错的

zhaopingzi 发表于 2013-12-19 14:08

尼玛啊,换版本啊!!!!;开源的这玩意,如果不会编码的话,就是认人宰割;有木有!!!

把HIVE-0.12.0换成0.8.1就好了,我日了去

father1 发表于 2013-12-19 17:10

我也碰到同样的问题了,而且换成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单独没有任何问题。不知道哪个诡异的地方设置有问题,或者三个软件都需要自己编译?

zhaopingzi 发表于 2013-12-19 19:17

回复 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:04

本帖最后由 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的其他配置还有什么需要特殊注意的嘛?

zhaopingzi 发表于 2013-12-20 08:36

回复 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

zhaopingzi 发表于 2013-12-20 08:53

回复 3# father1


    是在真的分布式下

father1 发表于 2013-12-22 17:00

回复 7# zhaopingzi


    非常感谢提供信息,Hadoop版本降到1.0.3后,问题解决了。不确定是1.0.4版本有问题,还是我安装的1.0.4版本有问题。Hive版本0.10.0,HBase0.9.4.13。都是直接apache下载之后,没有编译,集成成功,希望这信息对别人也有帮助。

zhaopingzi 发表于 2013-12-23 08:53

上了贼船,就等着宰割吧

zhaopingzi 发表于 2013-12-23 09:47

回复 8# father1


    -bash-3.2$ hbase shell
   敲完后,等半天才出现
   hbase(main):001:0> 提示,知道是什么原因吗
页: [1]
查看完整版本: 有HIVE方面的高手吗,帮悄悄