1. 程式人生 > >使用sqoop將資料從hdfs中匯入mysql時,卡在INFO mapreduce.Job: map 100% reduce 0%的解決辦法

使用sqoop將資料從hdfs中匯入mysql時,卡在INFO mapreduce.Job: map 100% reduce 0%的解決辦法

最近在將hdfs中已經處理好的資料匯入到mysql的時候遇到這麼一個現象,當任務執行到

INFO mapreduce.Job:  map 100% reduce 0%

mapreduce任務卡在map100% ,任何reduce不繼續執行。

總結了以下解決辦法:

一,如果沒有報錯的話,可能是你mysql的資料庫建表指定的主鍵不全,導致匯入一部分資料後,主鍵出現相同欄位,那麼就造成阻塞了

二,如果報錯的話,可能就是配置問題,叢集無法承載如此大量資料的處理,資源緊張導致的阻塞

對於第一種,仔細查看錶的結構,看看是否有的欄位長度不夠,或者建表時指定的主鍵不夠全

第二個錯誤,可以配置一下yarn-site.xml檔案

1. <property>  

2.     <name>yarn.nodemanager.resource.memory-mb</name>  

3.     <value>20480</value>  

4. </property>  

5. <property>  

6.    <name>yarn.scheduler.minimum-allocation-mb</name>  

7.    <value>2048</value>  

8. </property>  

9. <property>  

10.     <name>yarn.nodemanager.vmem-pmem-ratio</name>  

11.     <value>2.1</value>  

12. </property>  
重啟yarn嘗試重新執行試試。