共计 2050 个字符,预计需要花费 6 分钟才能阅读完成。
select count(*) from tablename 时出现异常怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面 …”>
本篇内容主要讲解“Hive 执行 hive select count(*) from tablename 时出现异常怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“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 时出现异常怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!