當(dāng)前位置:工程項目OA系統(tǒng) > OA系統(tǒng)企業(yè)版 > 相關(guān)軟件 > 上網(wǎng)行為管理軟件
IT運維管理經(jīng)驗分享:Hadoop管理員最佳實踐
本文基于 Cloudera CDH 3u4(同Apache Hadoop 1.0)編寫。相關(guān)推薦配置為官方推薦值或者筆者經(jīng)驗數(shù)值,它不是絕對的,可能會因為不同的應(yīng)用場景和硬件環(huán)境有所出入。
1. 選擇Cloudera CDH部署你的Cluster
動機
大多數(shù)管理員都是從Apache Hadoop開始學(xué)習(xí)。筆者最開始也使用Apache版本Hadoop進(jìn)行開發(fā)和部署工作,但接觸到Cloudera CDH后,我發(fā)現(xiàn)它可以使管理員的工作更簡單,不僅可以獲得最新的特性和Bug修復(fù),有時也會帶來令人驚喜的性能改善。
CDH為什么更好?筆者羅列了以下幾點:
CDH基于穩(wěn)定版Apache Hadoop,并應(yīng)用了最新Bug修復(fù)或者Feature的Patch。Cloudera常年堅持季度發(fā)行Update版本,年度發(fā)行Release版本,更新速度比Apache官方快,而且在實際使用過程中CDH表現(xiàn)無比穩(wěn)定,并沒有引入新的問題。
Cloudera官方網(wǎng)站上安裝、升級文檔詳細(xì),省去Google時間。
CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四種方式安裝,總有一款適合您。官方網(wǎng)站推薦Yum/Apt方式安裝,筆者體會其好處如下:
聯(lián)網(wǎng)安裝、升級,非常方便。當(dāng)然你也可以下載rpm包到本地,使用Local Yum方式安裝。
自動下載依賴軟件包,比如要安裝Hive,則會級聯(lián)下載、安裝Hadoop。
Hadoop生態(tài)系統(tǒng)包自動匹配,不需要你尋找與當(dāng)前Hadoop匹配的Hbase,F(xiàn)lume,Hive等軟件,Yum/Apt會根據(jù)當(dāng)前安裝Hadoop版本自動尋找匹配版本的軟件包,并保證兼容性。
自動創(chuàng)建相關(guān)目錄并軟鏈到合適的地方(如conf和logs等目錄);自動創(chuàng)建hdfs, mapred用戶,hdfs用戶是HDFS的最高權(quán)限用戶,mapred用戶則負(fù)責(zé)mapreduce執(zhí)行過程中相關(guān)目錄的權(quán)限。
推薦指數(shù):★★★
推薦理由:獲取最新特性和最新Bug修復(fù);安裝維護(hù)方便,節(jié)省運維時間。
2. Hadoop集群配置與管理
安裝和維護(hù)Hadoop集群涉及大量的管理工作,包括軟件安裝,設(shè)備管理(crontab、iptables等)、配置分發(fā)等。
對于小型集群軟件分發(fā)和節(jié)點管理可以使用PDSH這款軟件,它可以通過免密鑰的SSH將文件分發(fā)到目標(biāo)服務(wù)器,以及為一組目標(biāo)設(shè)備發(fā)送命令并獲得反饋。如果是大型集群或者硬件配置差別很大的集群,推薦使用puppet這樣的工具幫助你維護(hù)配置文件,或者通過Cloudera Manager以GUI的方式的管理集群(注意:Clodera Manager不是開源軟件,免費版最多支持50個節(jié)點)。
推薦指數(shù):★★★
推薦理由:提高運維效率
3. 開啟SecondaryNameNode
SecondaryNameNode(下稱SNN)的主要功能是工作是幫助NameNode(下稱NN)合并編輯日志,然后將合并后的鏡像文件copy回NN,以減少NN重啟時合并編輯日志所需的時間。SNN不是NN的熱備,但是通過以下步驟可以實現(xiàn)將SNN切換為NN的目的。首先,SNN節(jié)點上導(dǎo)入從NN Copy過來的鏡像文件,然后修改SNN機器名和IP與NN一致,最后重啟集群。
特別注意的是SNN的內(nèi)存配置要與NN一致,因為合并編輯日志的工作需要將metadata加載到內(nèi)存完成。另外,不僅僅是SNN,任何保存NN鏡像的節(jié)點都可以通過上面步驟變?yōu)镹N,只是SNN更適合罷了。
推薦指數(shù):★★★
推薦理由:減少NN重啟導(dǎo)致集群服務(wù)中斷時間;NN節(jié)點故障后,SNN充當(dāng)NN角色
4. 使用Ganglia和Nagios監(jiān)控你的集群
當(dāng)運行一個大型mapreduce 作業(yè)時,我們通常非常關(guān)心該作業(yè)對TaskTracker(下稱TT)CPU、內(nèi)存、磁盤,以及整個網(wǎng)絡(luò)的帶寬情況,這時候就需要Ganglia這個工具為我們生成相關(guān)圖表來診斷、分析問題。
Ganglia可以監(jiān)控集群狀態(tài),但當(dāng)你的服務(wù)器down機或者某個TT掛掉,它卻無法通知到你,這時我們可以使用Nagios這款告警軟件,它可以配置郵件告警和短息告警。通過編寫plugins,可以實現(xiàn)自己的監(jiān)控功能。我們的集群目前做了如下監(jiān)控:
NameNode、JobTracker內(nèi)存
DataNode和TaskTracker運行狀態(tài)
NFS服務(wù)狀態(tài)
磁盤使用情況
服務(wù)器負(fù)載狀態(tài)
推薦指數(shù):★★★
推薦理由:Ganglia可以幫你記錄集群狀態(tài),方便診斷問題;Nagios可以再遇到問題時第一時間通知你。
5. 設(shè)置好內(nèi)存至關(guān)重要
Hadoop集群安裝完畢后,第一件事就是修改bin/hadoop-evn.sh文件設(shè)置內(nèi)存。主流節(jié)點內(nèi)存配置為32GB,典型場景內(nèi)存設(shè)置如下:
NN: 15-25 GB JT:2-4GB DN:1-4 GB TT:1-2 GB,Child VM 1-2 GB 集群的使用場景不同相關(guān)設(shè)置也有不同,如果集群有大量小文件,則要求NN內(nèi)存至少要20GB,DN內(nèi)存至少2GB。
推薦指數(shù):★★★★★
推薦理由:幾個組件中NN對內(nèi)存最為敏感,它有單點問題,直接影響到集群的可用性;JT同樣是單點,如果JT內(nèi)存溢出則所有MapReduce Job都無法正常執(zhí)行。
6. 管理員玩轉(zhuǎn)MapReduce
Hadoop原生MapReduce需要Java語言編寫,但是不會Java也沒問題,通過Hadoop streaming框架管理員可以使用Python,Shell,Perl等語言進(jìn)行MapReduce開發(fā),但更簡單的辦法是安裝和使用Hive或者Pig。
推薦指數(shù):★★★
推薦理由:減少運維時間,快速響應(yīng)各種ad-hot需求和故障診斷。
7. NameNode HA
前面已經(jīng)說過,NN是整個集群可能出現(xiàn)的單點故障。
Hadoop通過在hdfs.site.xml文件的dfs.name.dir屬性指定保持的metadata路徑,如果希望保持到多個路徑,可以使用逗號分割配置多個路徑。
<property> <name>dfs.name.dir</name> <value>/data/cache1/dfs/nn,/data/cache2/dfs/nn</value> </property> Hadoop官方推薦配置為metadata配置多個path,其中包含一個NFS的路徑。但根據(jù)筆者一次集群嚴(yán)重故障經(jīng)驗,即使這樣,還是導(dǎo)致了所有鏡像文件損壞,包括SNN上的鏡像文件,所以定期備份一個可用的副本還是很有必要的。
推薦指數(shù):★★★★★
推薦理由:Cloudera3uX和Apache1.0的NN單點問題是大家最頭痛問題之一,多些準(zhǔn)備,少許痛苦。
8. 使用firewall阻止壞人進(jìn)入
Hadoop的安全控制非常簡單,只包含簡單的權(quán)限,即只根據(jù)客戶端用戶名,決定使用權(quán)限。它的設(shè)計原則是:“避免好人做錯事,但不阻止壞人做壞事”。
如果你知道某臺NN的IP和端口,則可以很輕松獲取HDFS目錄結(jié)構(gòu),并通過修改本機機器用戶名偽裝成HDFS文件所屬owner,對該文件進(jìn)行刪除操作。
通過配置kerberos,可以實現(xiàn)身份驗證。但很多管理員使用更簡單有效的辦法——通過防火墻對訪問IP進(jìn)行控制。
推薦指數(shù):★★★★★
推薦理由:安全無小事,防范于未然。
9. 開啟垃圾箱(trash)功能
動機
我曾經(jīng)犯下一個錯誤,在我加班非常累,大腦稍有混亂的時候,不小心刪除執(zhí)行了一個命令“hadoop fs -rmr /xxx/xxx”,沒有刪除提示,幾TB的數(shù)據(jù),一下子就沒有了。簡直讓我崩潰,后悔莫及。這時你多希望有個時間機器可以讓HDFS恢復(fù)到刪除前的狀態(tài)。
trash功能就是這個時間機器, 它默認(rèn)是關(guān)閉的,開啟后,被你刪除的數(shù)據(jù)將會mv到操作用戶目錄的".Trash"文件夾,可以配置超過多長時間,系統(tǒng)自動刪除過期數(shù)據(jù)。這樣一來,當(dāng)操作失誤的時候,可以把數(shù)據(jù)mv回來。開啟垃圾箱步驟如下:
vi core-site.xml ,添加下面配置,value單位為分鐘。
<property> <name>fs.trash.interval</name> <value>1440</value> </property> 筆者 在CDpu4下不用重啟Namenode就可以生效。開啟垃圾箱后,如果希望文件直接被刪除,可以在使用刪除命令時添加“–skipTrash” 參數(shù),如下:
hadoop fs –rm –skipTrash /xxxx 推薦指數(shù):★★★★★
推薦理由:想要時間機器嗎?
10. 去社區(qū)尋找?guī)椭?/p>
Hadoop是一個非常優(yōu)秀的開源項目,但它仍存有很多尚未解決的問題,諸如,NN,JT單點問題,JT掛死問題,Block在小文件下匯報效率低下等問題。此時可以通過如下渠道找到可以幫助你的人,筆者幾次集群嚴(yán)重故障都是通過Cloudera公司的google user group直接獲得幾位 committer的幫助。通常前一天提問,第二天就會有反饋。下面是兩個能夠幫助的你的社區(qū),當(dāng)然你也可以幫助其他人:
Apache hadoop的mail list :
http://hadoop.apache.org/mailing_lists.html
Cloudera CDH google group:
https://groups.google.com/a/cloudera.org/forum/#!forum/cdh-user
推薦指數(shù):★★★★★
推薦理由:沒有人比軟件作者更熟悉Hadoop本身,去社區(qū)求助,幫你解決很多自己無法跨越的問題。
【推薦閱讀】
◆上網(wǎng)行為運維管理專區(qū)
◆網(wǎng)絡(luò)運維流程管理平臺技術(shù)架構(gòu)
◆網(wǎng)絡(luò)運維流程管理平臺功能模塊
◆網(wǎng)絡(luò)運維流程管理平臺改進(jìn)目標(biāo)
◆網(wǎng)管軟件專區(qū)
本文來自互聯(lián)網(wǎng),僅供參考- 1店鋪管理軟件
- 2工廠管理軟件
- 3服裝庫存管理軟件
- 4銷售管理軟件
- 5電腦銷售管理軟件
- 6預(yù)算管理軟件
- 7人員管理軟件
- 8檔案管理軟件
- 9公司管理軟件
- 10企業(yè)管理軟件
- 11中小企業(yè)管理軟件
- 12日程管理軟件
- 12015年網(wǎng)絡(luò)市場展望 無線和統(tǒng)一通信被看好
- 2網(wǎng)絡(luò)安全管理系統(tǒng)評估
- 3BYOD環(huán)境下如何實現(xiàn)企業(yè)數(shù)據(jù)保護(hù)
- 4上網(wǎng)行為管理系統(tǒng)產(chǎn)品功能
- 5山東電力開啟IT運維管理“智能模式”
- 6有線網(wǎng)絡(luò)即將被上網(wǎng)行為管理系統(tǒng)終結(jié)?
- 7部署全移動網(wǎng)絡(luò)環(huán)境 提升企業(yè)移動管理價值
- 8網(wǎng)絡(luò)技術(shù)前瞻:5G的四大關(guān)鍵詞
- 9教程:網(wǎng)管軟件如何實現(xiàn)對網(wǎng)絡(luò)交換設(shè)備的管理
- 10CIO關(guān)注的2013年五大IT趨勢
- 11光纖監(jiān)控:安防管理的全新發(fā)展方向
- 12十年IT運維談(二)“0”和“100”
- 13一體化網(wǎng)絡(luò)之上網(wǎng)行為管理系統(tǒng)如何設(shè)計?
- 14網(wǎng)絡(luò)管理維護(hù)技巧:如何限制撥入VPN用戶的訪問權(quán)限
- 15如何完成遠(yuǎn)程排除網(wǎng)絡(luò)故障
- 16企業(yè)如何保證IT運維安全
- 17大數(shù)據(jù):如何讓信息安全從被動走向主動
- 18超五類雙絞線與六類雙絞線區(qū)別在哪里?
- 19上網(wǎng)行為管理系統(tǒng):PPTP、L2TP、IPSec、VPN的區(qū)別
- 20上網(wǎng)行為管理系統(tǒng)可以帶來如下好處
- 21企業(yè)該如何進(jìn)行高效的IT運維管理
- 22如何恢復(fù)受損的PGP加密磁盤中NTFS文件內(nèi)容
- 23IT管理系統(tǒng)運維秘訣:如何提高個人知識與經(jīng)驗積累
- 24軟交換的七大特點和四大功能
- 25綜合布線如何防護(hù)電磁干擾
- 26網(wǎng)管軟件使用有技巧
- 27兩招解決IT運維日志管理難題
- 28核心路由器選購需注意七大指標(biāo)
- 29網(wǎng)絡(luò)維護(hù)如何防止雷電侵?jǐn)_?
- 30云計算運維管理的十六大功能
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓