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