Hive执行hive> select count(*) from tablename时出现异常怎么解决

48次阅读
没有评论

共计 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 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计2050字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)