Hive执行hive>selectcount(*)fromtablename时出现异常怎么解决

本篇内容主要讲解“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)

 

    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

到此,相信大家对“Hive执行hive> select count(*) from tablename时出现异常怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章标题:Hive执行hive>selectcount(*)fromtablename时出现异常怎么解决
本文网址:http://scyanting.com/article/jcejio.html