如果想在你的hdfs 上開啟EC饥努,并使用HDP氧急,或是CDH版本的時(shí)候颗胡,請仔細(xì)閱讀,并認(rèn)真想清楚你的場景态蒂。
我們是由于一些原因杭措,先用HDP 3.1.5 騰訊云的虛擬機(jī)在搭建了一套hadoop啦扬。然后在這個(gè)期間午阵,想利用HDFS EC來節(jié)省使用容量。
但是后續(xù)我們會利用騰訊云混合云戳葵,把一些物理服務(wù)器加入到這個(gè)集群瘩蚪,然后將這些cvm datanode節(jié)點(diǎn)下線泉懦。來控制成本。
這個(gè)時(shí)候問題來了疹瘦。
在HDP 3.1.5 版本里崩哩,hadoop hdfs 版本是3.1.1 在這個(gè)版本里EC功能又很多的bug ,其中對大的一個(gè)問題就是,在cvm節(jié)點(diǎn)下線中產(chǎn)生的bug邓嘹。
我一次性下線了10臺節(jié)點(diǎn)酣栈,但是由于之前datanode jvm 配置8G ,導(dǎo)致datanode jvm 頻繁Full GC 汹押。有很多出現(xiàn)卡住矿筝,假死的情況。所以觸發(fā)了 HDFS-14946 bug棚贾。
HDFS-14946 (https://issues.apache.org/jira/browse/HDFS-14946)
就是多個(gè)節(jié)點(diǎn)同時(shí)下線窖维,產(chǎn)生的EC數(shù)據(jù)無法重建問題。直接影響線上數(shù)據(jù)損壞妙痹,不可用铸史。
另外還有一個(gè)HDFS 管理頁面,首頁里的Number of Under-Replicated Blocks 與 Datanode 頁面里的 節(jié)點(diǎn)的 Number of Under-Replicated Blocks 總和不一致怯伊。
首頁里是0琳轿, 節(jié)點(diǎn)頁面,各個(gè)退役的節(jié)點(diǎn)里還有 幾個(gè)震贵,幾十個(gè)block 利赋。一直不動水评。很難判斷是否真全部退役完畢猩系。不知道該不該關(guān)閉、刪除這些退役的機(jī)器中燥。
另外如果EC block group中數(shù)據(jù)miss block 情況寇甸,在hdfs 管理頁面不會顯示(如果是傳統(tǒng)3副本情況,如果有3個(gè)機(jī)器down了疗涉,管理頁面會紅字顯示拿霉,那些文件miss)
很多的問題、bug都在HDFS 3.3 版本中修復(fù)咱扣。
另外開啟EC 寫入性能會比三副本下降65% 绽淘。
https://www.slideshare.net/HadoopSummit/hdfs-erasure-coding-in-action(yahoo japan PPT分享的測試數(shù)據(jù)。) 具體大家可以測試下闹伪。
總結(jié)沪铭,HDP 3.1.5 想用EC 那么就不要退役下線節(jié)點(diǎn)∑浚或是下線節(jié)點(diǎn)的時(shí)候杀怠,一次2臺退役。