我是新配置單元和hadoop,並剛在Hive上創建了一個表(orc fileformat)。我現在試圖在我的配置單元表(位圖索引)上創建索引。每次運行索引構建查詢時,配置單元都會啓動一個地圖縮減作業來索引。在某些時候,我的地圖縮減作業掛起,我的一個節點(在多次重試中隨機不同,因此可能不是節點)失敗。我試圖增加我的mapreduce.child.java.opts
到2048mb,但這給我錯誤使用更多的內存比可用,所以我增加了,mapreduce.map.memory.mb
和mapreduce.reduce.memory.mb
到8GB。所有其他配置都保留爲默認值。配置單元索引mapreduce內存錯誤
任何幫助什麼配置我錯過了將非常感激。
只是爲了上下文,我試圖索引一個表格,其中有240億行,大小爲450GB,有3個分區。
看起來,因爲我根本沒有改變那個值,所以當前的'hive.exec.reducers.bytes.per.reducer'應該被設置爲1GB。不應該因爲我的yarn mapreduce配置完全可以管理1GB而給我錯誤嗎?它應該產生更多的減速器。你建議減少分配給每個reducer的字節數嗎?我很抱歉,但我無法真正理解如何計算您提供鏈接的帖子的內存需求。 –
當你說,地圖減少工作掛起,可能還有其他原因。如果這個問題仍然存在,那麼使用調試語句(可以使用log4j或其他語言,並添加調試語句)來識別哪一行代碼有問題。關於內存方面的考慮,我提到了你的24億行執行。一旦程序以小規模運行,規模就會越來越高,並考慮到內存。我知道以前難以分析,請一步步前進。 – Ramzy