hive中Hql查詢時錯誤


hive> select count(*) from student_info;
Query ID = hadoop_20170127022626_4c071a70-f0d0-484a-8e29-dbd875356ef9
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapred.reduce.tasks=<number>
Job running in-process (local Hadoop)
2017-01-27 02:26:20,750 Stage-1 map = 0%,  reduce = 0%
2017-01-27 02:26:57,772 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_1485444043128_0007 with errors
Error during job, obtaining debugging information...
Examining task ID: task_1485444043128_0007_m_000000 (and more) from job job_1485444043128_0007
Unable to retrieve URL for Hadoop Task logs. Does not contain a valid host:port authority: local

Task with the most failures(4): 
-----
Task ID:
  task_1485444043128_0007_m_000000

-----
Diagnostic Messages for this Task:
Error: java.lang.NullPointerException
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.init(HiveInputFormat.java:270)
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:484)
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:477)
        at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:717)
        at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:169)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched: 
Stage-Stage-1:  HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

實際上有兩個失敗:
1)啓動集羣由於某種原因失敗。建議嘗試定位失敗的任務日誌任務在集羣上。
2)自動檢索任務日誌JobTracker TaskLogServlet。這在MR2服務不存在,拋出異常(因爲mapred.job。跟蹤是未定義的,或者因爲它找不到TaskLogServlet mapred.job.tracker的服務的計算機上運行指向)。 

解決辦法 
  1、 解決方法:修改hive-site.xml:


<property>
    <name>mapreduce.jobtracker.address</name>
    <value>ignorethis</value>
</property>
  2、解決辦法
In the meantime I recommend doing the following if you need to run Hive on 
MR2: 
* Keep Hive happy by setting mapred.job.tracker to a bogus value. 
* Disable task log retrieval by setting 
hive.exec.show.job.failure.debug.info=false 
解釋:
 同時我建議做以下如果你需要運行hive
MR2:
*保持hive箱設置mapred.job快樂。追蹤到一個虛假的價值。
*禁用任務日誌檢索通過設置
hive.exec.show.job.failure.debug.info = false
 
 意思:
 <property>
    <name>hive.exec.show.job.failure.debug.info</name>
    <value>false</value>
</property>


3 配置hive時 注意這參數
<property>
<name>hive.exec.mode.local.auto</name>
<value>true</value>
</property>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章