您好,登錄后才能下訂單哦!
本篇內容主要講解“Hive執行hive> select count(*) from tablename時出現異常怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Hive執行hive> select count(*) from tablename時出現異常怎么解決”吧!
版本說明
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: http://slave3:50060/tasklog?taskid=attempt_201212192008_0014_m_000000_3&start=-8193
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(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地址)
http://slave3:50060/tasklog?taskid=attempt_201212192008_0014_m_000000_3&start=-8193
修改為:
http://slave3: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)
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/java/hive-0.9.0/lib/protobuf-java-2.4.0a.jar</value>
</property>
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
到此,相信大家對“Hive執行hive> select count(*) from tablename時出現異常怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。