Heim > Datenbank > MySQL-Tutorial > Hive和HBase整合,查询异常

Hive和HBase整合,查询异常

WBOY
Freigeben: 2016-06-07 17:26:57
Original
1170 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage