日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析

發布時間:2023/12/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hive Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask錯誤分析

1. 背景

  • 使用hive過程中,遇到問題有時候信息不是很足夠,這時候就需要去想辦法查看錯誤信息。而這類服務器框架的錯誤信息一般都存放在日志中
  • hive的日志不設置的話,默認存放在/tmp下當前用戶所在目錄,本文演示是root用戶,所以文件存放在tmp文件夾下的root目錄下/tmp/root

    已經按照日期和時間進行存儲,查看最新的日志文件信息即可
  • # 使用tail命令查看日志文件最后200行,日志都是追加,所以一般都是從尾部查看。 同時為了快速檢索,可以查看error級別信息,時間信息也看一下,因為程序運行出錯時間是可以確定地,根據這個可以去查看日志中對應時間的信息。 tail -200 hive.log

    2. 原因匯總

    2.1 沒有開啟hive的metastore服務

    # 這是在hive shell客戶端之外執行的,注意注意 hive --service metastore

    2.2 集群中各個節點時間不同步導致

  • 連接各個節點,輸入date查看時間信息
  • date
  • 安裝日期同步工具
  • yum -y install ntp ntpdate
  • 設置日期同步指令
  • ntpdate cn.pool.ntp.org# 或者使用這一條指令 ntpdate -u ntp.api.bz
  • 將系統時間寫入硬件時間(主板中會有電池,這個電池耗盡之前,主板時間都會相對精準)
  • hwclock –w# 設置后查看硬件時間 hwclock -show

    2.3 執行hive shell指令的集群節點內存耗盡

  • 如果在日志中看到是memoryOutOfUse等錯誤信息,再查看一下系統內存信息
  • # 主要查看剩余可用的內存,如果只有200到300Mb,很多時候就會報這個錯誤。 free -h

    解決辦法:

    • 可以重新啟動hive服務或者重新啟動節點機器,這樣內存可以被釋放出來,
    • 使用linux的內存釋放方法
    • 加內存條
    • 使用yarn模式運行,不要使用local模式運行,這樣單節點的內存消耗會慢很多

    2.4 由于hadoop 3.2.1和hive 3.1.2不兼容

  • 將hadoop 3.2.1適配的hive 3.1.1一起安裝,不要安裝hive 3.1.2.強行安裝在一起會導致內存不回收的問題,本地模式執行一段時間后,內存就會被耗盡。最后導致hive轉換的mapreduce程序因為內存耗盡而報錯
  • 3. 總結

  • 很不幸,也很幸運,上述的坑我都踩過。耗費一整晚的時間進行定位和修復
  • 幸運的是,問題原因都是查看日志和百度查看其他人博客解決,所以我也會將這些錯誤匯總出來,希望可以給大家一些幫助。
  • 總結

    以上是生活随笔為你收集整理的Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。