Posted on 2012-04-15 16:37
zljpp 閱讀(131)
評論(0) 編輯 收藏
3:處理速度特別的慢 出現map很快 但是reduce很慢 而且反復出現 reduce=0%
Answer:
結合第二點,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000
4:能夠啟動datanode,但無法訪問,也無法結束的錯誤
在重新格式化一個新的分布式文件時,需要將你NameNode上所配置的dfs.name.dir這一namenode用來存放NameNode 持久存儲名字空間及事務日志的本地文件系統路徑刪除,同時將各DataNode上的dfs.data.dir的路徑 DataNode 存放塊數據的本地文件系統路徑的目錄也刪除。如本此配置就是在NameNode上刪除/home/hadoop/NameData,在DataNode上刪除/home/hadoop/DataNode1和/home/hadoop/DataNode2。這是因為Hadoop在格式化一個新的分布式文件系統時,每個存儲的名字空間都對應了建立時間的那個版本(可以查看/home/hadoop /NameData/current目錄下的VERSION文件,上面記錄了版本信息),在重新格式化新的分布式系統文件時,最好先刪除NameData 目錄。必須刪除各DataNode的dfs.data.dir。這樣才可以使namedode和datanode記錄的信息版本對應。
注意:刪除是個很危險的動作,不能確認的情況下不能刪除!!做好刪除的文件等通通備份!!
5:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出現這種情況大多是結點斷了,沒有連接上。
6:java.lang.OutOfMemoryError: Java heap space
出現這種異常,明顯是jvm內存不夠得原因,要修改所有的datanode的jvm內存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大內存使用應該為總內存大小的一半,我們使用的8G內存,所以設置為4096m,這一值可能依舊不是最優的值。
本主題由 admin 于 2009-11-20 10:50 置頂
頂,這樣的貼子非常好,要置頂。附件是由Hadoop技術交流群中若冰的同學提供的相關資料:
(12.58 KB)
Hadoop添加節點的方法自己實際添加節點過程:
1. 先在slave上配置好環境,包括ssh,jdk,相關config,lib,bin等的拷貝;
2. 將新的datanode的host加到集群namenode及其他datanode中去;
3. 將新的datanode的ip加到master的conf/slaves中;
4. 重啟cluster,在cluster中看到新的datanode節點;
5. 運行bin/start-balancer.sh,這個會很耗時間
備注:
1. 如果不balance,那么cluster會把新的數據都存放在新的node上,這樣會降低mr的工作效率;
2. 也可調用bin/start-balancer.sh 命令執行,也可加參數 -threshold 5
threshold 是平衡閾值,默認是10%,值越低各節點越平衡,但消耗時間也更長。
3. balancer也可以在有mr job的cluster上運行,默認dfs.balance.bandwidthPerSec很低,為1M/s。在沒有mr job時,可以提高該設置加快負載均衡時間。