91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hive運行報錯running beyond virtual memory錯誤原因及解決辦法是什么

發布時間:2021-12-06 14:08:49 來源:億速云 閱讀:151 作者:柒染 欄目:云計算

hive運行報錯running beyond virtual memory錯誤原因及解決辦法是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

問題:在hive中運行應用,出現了running beyond virtual memory錯誤。提示如下:

Container [pid=28920,containerID=container_1389136889967_0001_01_000121] is running beyond virtual memory limits. Current usage: 1.2 GB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container.原因:運行的Container試圖使用過多的內存,而被NodeManager kill掉了。
[摘錄] The NodeManager is killing your container. It sounds like you are trying to use hadoop streaming which is running as a child process of the map-reduce task. The NodeManager monitors the entire process tree of the task and if it eats up more memory than the maximum set in mapreduce.map.memory.mb or mapreduce.reduce.memory.mb respectively, we would expect the Nodemanager to kill the task, otherwise your task is stealing memory belonging to other containers, which you don't want.

要解決這個異常,得熟悉yarn自身的虛擬內存管理規則,在Yarn平臺中,CPU,內存,磁盤都被抽象成資源來自使用,管理資源的角色主要有Yarn Resource Manager (RM) 負責總的資源調度,然后每個節點上有Nodemanager 來監聽守護資源,在具體到每一個應用上是通過Application Master (AM) container來給Map或Reduce任務來分配資源,具體的屬性如下: 
(1)yarn.nodemanager.resource.memory-mb 
可分配的物理內存總量,默認是8*1024MB。 
(2)yarn.nodemanager.vmem-pmem-ratio 
每單位的物理內存總量對應的虛擬內存量,默認是2.1,表示每使用1MB的物理內存,最多可以使用2.1MB的虛擬內存總量。 

第二個屬性,比率的控制影響著虛擬內存的使用,當yarn計算出來的虛擬內存,比在mapred-site.xml里的mapreduce.map.memory.mb或mapreduce.reduce.memory.mb的2.1倍還要多時,就會發生上面截圖中的異常,而默認的mapreduce.map.memory.mb或 
mapreduce.reduce.memory.mb得初始大小為1024M,然后根據異常中的yarn自身根據運行環境推算出來的虛擬內存來做比較,發現比1024*2.1還要大,所以就會由NodeManage守護進程kill掉AM容器,從而導致整個MR作業運行失敗,現在我們只需要調大這個比率即可,避免發生這種異常。具體調大多小,可根據具體情況來設置。

兩種解決方法:

1、上面提到的修改yarn-site.xml配置文件,可以增加yarn.nodemanager.vmem-pmem-ratio的比例,但這種修改方法需要重新啟動集群才可以生效,同時要注意所有節點的resourceManager或NodeManager進程必須重啟成功(我遇到過 用stop-yarn.sh重啟集群然而resourceManager進程并沒有stop,導致應用不生效的情況,可在stop-yarn.sh執行后用jps命令確認); 

2、修改mapred-site.xml配置文件中這兩個值,注意map和reduce的java.opts值需要小于對應的mapreduce.memory值 (value中實際配置的內存需要根據自己機器內存大小及應用情況進行修改)  。

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>1536</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024M</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>3072</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx2560M</value>
</property>

 

在hive命令行查看和設置相關值:

hive運行報錯running beyond virtual memory錯誤原因及解決辦法是什么

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天长市| 平山县| 扎鲁特旗| 洛南县| 秦安县| 湄潭县| 保康县| 金湖县| 米脂县| 镇平县| 马公市| 祁阳县| 察隅县| 永年县| 同心县| 思茅市| 濮阳市| 高尔夫| 江西省| 贡觉县| 曲阳县| 朝阳市| 宣城市| 宜宾市| 景宁| 大埔区| 景谷| 维西| 平昌县| 张家界市| 长寿区| 芦山县| 英山县| 福州市| 斗六市| 剑河县| 本溪市| 澎湖县| 灵宝市| 张北县| 茂名市|