Hadoop常見問題及解決方法
問題1:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out問題描述:在程序中需要打開多個文件進行分析,系統(tǒng)默認的最大文件數(shù)量是
問題1:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
問題描述:在程序中需要打開多個文件進行分析,系統(tǒng)默認的最大文件數(shù)量是1024。對于正常使用來說,這個數(shù)量足夠了。但對于程序來說可能不夠。
解決方法:
1. 修改文件,在文件末尾添加以下內(nèi)容:
* soft nofile 102400 * hard nofile 409600
2. 修改/etc/pam.d/login文件,在文件末尾添加以下內(nèi)容:
session required /lib/security/pam_
問題2:Too many fetch-failures
問題描述:出現(xiàn)這個問題主要是節(jié)點之間的連通性不夠全面。
解決方法:
1. 檢查/etc/hosts文件,確保本機IP對應服務器名,并且包含所有服務器的IP和服務器名。
2. 檢查.ssh/authorized_keys文件,確保包含所有服務器(包括本機)的public key。
問題3:處理速度特別慢
問題描述:Map階段很快,但Reduce階段很慢,而且反復出現(xiàn)reduce0%。
解決方法:結(jié)合問題2的解決方法,修改文件中的export HADOOP_HEAPSIZE4000。
問題4:啟動Datanode后無法訪問且無法結(jié)束
問題描述:在重新格式化一個新的分布式文件系統(tǒng)時,需要刪除NameNode上配置的路徑,同時刪除各DataNode上配置的路徑。
解決方法:刪除NameNode上的/home/hadoop/NameData目錄,在每個DataNode上刪除對應的/home/hadoop/DataNode1和/home/hadoop/DataNode2目錄。注意,刪除操作是危險的,請在確認無誤的情況下進行。
問題5: Could not obtain block
問題描述:出現(xiàn)這種情況通常是節(jié)點斷開連接。
解決方法:檢查網(wǎng)絡連接,確保節(jié)點之間能夠正常通信。
問題6: Java heap space
問題描述:出現(xiàn)這種異常通常是JVM內(nèi)存不足。
解決方法:修改所有DataNode的JVM內(nèi)存大小為Java -Xms1024m -Xmx4096m。一般來說,JVM的最大內(nèi)存使用應該設置為總內(nèi)存大小的一半。
問題7:Namenode in safe mode
解決方法:運行bin/hadoop dfsadmin -safemode leave命令離開安全模式。
問題8: No route to host
解決方法:運行sudo /etc/init.d/iptables stop命令停止iptables防火墻。
問題9:更改Namenode后,在Hive中運行select依舊指向之前的Namenode地址
解決方法:當創(chuàng)建一個表時,Hive會將表的位置(例如hdfs://ip:port/user/root/...)存儲在元數(shù)據(jù)中。因此,當新建一個集群時,Master節(jié)點擁有新的IP地址,但是Hive的元數(shù)據(jù)仍然指向舊集群中的位置。可以修改元數(shù)據(jù)以更新為新的Namenode地址,或者使用彈性IP來簡化解決方案。