Home >Database >Mysql Tutorial >Hive和HBase整合,查询异常

Hive和HBase整合,查询异常

WBOY
WBOYOriginal
2016-06-07 17:26:571170browse

Hive和HBase整合,查询异常,再次执行Hive的统计命令,可能还会有异常,因为我的MapReduce前面使用过,在Hadoop中已经 加入过pro

版本说明
 
Hadoop 1.0.3
HBase 0.94.1
Hive 0.9.0

执行操作

hive> select count(*) from tablename;

异常提示
 
Exception in thread "Thread-54" java.lang.RuntimeException: Error while reading from task log url
 
        at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getStackTraces(TaskLogProcessor.java:240)
 
        at org.apache.hadoop.hive.ql.exec.JobDebugger.showJobFailDebugInfo(JobDebugger.java:227)
 
        at org.apache.hadoop.hive.ql.exec.JobDebugger.run(JobDebugger.java:92)
 
        at java.lang.Thread.run(Thread.java:662)
 
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL:    :50060/tasklog?taskid=attempt_201212192008_0014_m_000000_3&start=-8193
 
        at sun.net.(HttpURLConnection.java:1436)
 
        at java.net.URL.openStream(URL.java:1010)
 
        at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getStackTraces(TaskLogProcessor.java:192)
 
        ... 3 more

解决步骤
 
1.异常中的路径(根据自己的异常URL地址)
 
:50060/tasklog?taskid=attempt_201212192008_0014_m_000000_3&start=-8193
 
修改为:
 
:50060/tasklog?attemptid=attempt_201212192008_0014_m_000000_3&start=-8193
 
进行访问
 
2.页面中有异常具体记录,我这点的异常提示是:
 
  java.lang.NoClassDefFoundError: com/google/protobuf/Message
 
  明显是缺少某个jar,这个jar可以在HBase的jar中找到protobuf-java-2.4.0a.jar
 
3.将jar放入Hive的lib目录下,修改配置文件conf/hive-site.xml
 
 (如果前面整合过Hadoop,HBase,Hive的就知道,这里是加载Hive默认没有加载的jar)
 

 
 
    hive.aux.jars.path
 
    file:///usr/java/hive-0.9.0/lib/protobuf-java-2.4.0a.jar
 
 

 
 4.再次执行Hive的统计命令,可能还会有异常,因为我的MapReduce前面使用过,,在Hadoop中已经    加入过protobuf-java-2.4.0a.jar这个jar,如果以前你没有在Hadoop的lib下加入这个jar可能也    会有异常,如果出现异常依然可以根据第一步骤的方法来查看具体的异常。
 
  5.特别提示:如果Hadoop以前没有加入这个jar,请将集群所有的机器都加入这个jar,并重启        Hadoop或者单独重启MapReduce,重启MapReduce命令如下:
 
    stop-mapred.sh
 
    start-mapred.sh

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn