成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop管理員的十個最佳實踐

云計算 Hadoop
Hadoop工具因大數據的火熱而流行起來,但你是否真的已經掌握的Hadoop的使用技能,本文基于Cloudera CDH 3u4編寫的,提供了一些關于Hadoop的管理方法。

接觸Hadoop有兩年的時間了,期間遇到很多的問題,既有經典的NameNode和JobTracker內存溢出故障,也有HDFS存儲小文件問題,既有任務調度問題,也有MapReduce性能問題。遇到的這些問題有些是Hadoop自身的缺陷(短板),有些則是使用的不當。

在解決問題的過程中,有時需要翻源碼,有時會向同事、網友請教,遇到復雜問題則會通過mail list向全球各地Hadoop使用者,包括Hadoop Committer(Hadoop開發者)求助。在獲得很多人幫助后,自己將遇到問題和心得整理成文,希望本文可以對那些焦頭爛額的Hadoop新手們有所幫助,少走筆者的彎路。

本文基于Cloudera CDH 3u4(同Apache Hadoop 1.0)編寫。相關推薦配置為官方推薦值或者筆者經驗數值,它不是絕對的,可能會因為不同的應用場景和硬件環境有所出入。。

1. 選擇Cloudera CDH部署你的Cluster

動機

大多數管理員都是從Apache Hadoop開始學習。筆者最開始也使用Apache版本Hadoop進行開發和部署工作,但接觸到Cloudera CDH后,我發現它可以使管理員的工作更簡單,不僅可以獲得最新的特性和Bug修復,有時也會帶來令人驚喜的性能改善。

CDH為什么更好?筆者羅列了以下幾點:

CDH基于穩定版Apache Hadoop,并應用了最新Bug修復或者Feature的Patch。Cloudera常年堅持季度發行Update版本,年度發行Release版本,更新速度比Apache官方快,而且在實際使用過程中CDH表現無比穩定,并沒有引入新的問題。

Cloudera官方網站上安裝、升級文檔詳細,省去Google時間。

CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四種方式安裝,總有一款適合您。官方網站推薦Yum/Apt方式安裝,筆者體會其好處如下:

聯網安裝、升級,非常方便。當然你也可以下載rpm包到本地,使用Local Yum方式安裝。

自動下載依賴軟件包,比如要安裝Hive,則會級聯下載、安裝Hadoop。

Hadoop生態系統包自動匹配,不需要你尋找與當前Hadoop匹配的Hbase,Flume,Hive等軟件,Yum/Apt會根據當前安裝Hadoop版本自動尋找匹配版本的軟件包,并保證兼容性。

自動創建相關目錄并軟鏈到合適的地方(如conf和logs等目錄);自動創建hdfs, mapred用戶,hdfs用戶是HDFS的最高權限用戶,mapred用戶則負責mapreduce執行過程中相關目錄的權限。

推薦指數:★★★

推薦理由:獲取最新特性和最新Bug修復;安裝維護方便,節省運維時間。

2. Hadoop集群配置與管理

安裝和維護Hadoop集群涉及大量的管理工作,包括軟件安裝,設備管理(crontab、iptables等)、配置分發等。

對于小型集群軟件分發和節點管理可以使用PDSH這款軟件,它可以通過免密鑰的SSH將文件分發到目標服務器,以及為一組目標設備發送命令并獲得反饋。如果是大型集群或者硬件配置差別很大的集群,推薦使用puppet這樣的工具幫助你維護配置文件,或者通過Cloudera Manager以GUI的方式的管理集群(注意:Clodera Manager不是開源軟件,免費版最多支持50個節點)。

推薦指數:★★★

推薦理由:提高運維效率

3. 開啟SecondaryNameNode

SecondaryNameNode(下稱SNN)的主要功能是工作是幫助NameNode(下稱NN)合并編輯日志,然后將合并后的鏡像文件copy回NN,以減少NN重啟時合并編輯日志所需的時間。SNN不是NN的熱備,但是通過以下步驟可以實現將SNN切換為NN的目的。首先,SNN節點上導入從NN Copy過來的鏡像文件,然后修改SNN機器名和IP與NN一致,最后重啟集群。

特別注意的是SNN的內存配置要與NN一致,因為合并編輯日志的工作需要將metadata加載到內存完成。另外,不僅僅是SNN,任何保存NN鏡像的節點都可以通過上面步驟變為NN,只是SNN更適合罷了。

推薦指數:★★★

推薦理由:減少NN重啟導致集群服務中斷時間;NN節點故障后,SNN充當NN角色

4. 使用Ganglia和Nagios監控你的集群

當運行一個大型mapreduce作業時,我們通常非常關心該作業對TaskTracker(下稱TT)CPU、內存、磁盤,以及整個網絡的帶寬情況,這時候就需要Ganglia這個工具為我們生成相關圖表來診斷、分析問題。

Ganglia可以監控集群狀態,但當你的服務器down機或者某個TT掛掉,它卻無法通知到你,這時我們可以使用Nagios這款告警軟件,它可以配置郵件告警和短息告警。通過編寫plugins,可以實現自己的監控功能。我們的集群目前做了如下監控:

NameNode、JobTracker內存

DataNode和TaskTracker運行狀態

NFS服務狀態

磁盤使用情況

服務器負載狀態

推薦指數:★★★

推薦理由:Ganglia可以幫你記錄集群狀態,方便診斷問題;Nagios可以再遇到問題時第一時間通知你。

5. 設置好內存至關重要

Hadoop集群安裝完畢后,第一件事就是修改bin/hadoop-evn.sh文件設置內存。主流節點內存配置為32GB,典型場景內存設置如下

NN: 15-25 GB

JT:2-4GB

DN:1-4 GB

TT:1-2 GB,Child VM 1-2 GB

集群的使用場景不同相關設置也有不同,如果集群有大量小文件,則要求NN內存至少要20GB,DN內存至少2GB。

推薦指數:★★★★★

推薦理由:幾個組件中NN對內存最為敏感,它有單點問題,直接影響到集群的可用性;JT同樣是單點,如果JT內存溢出則所有MapReduce Job都無法正常執行。

6. 管理員玩轉MapReduce

Hadoop原生MapReduce需要Java語言編寫,但是不會Java也沒問題,通過Hadoop streaming框架管理員可以使用Python,Shell,Perl等語言進行MapReduce開發,但更簡單的辦法是安裝和使用Hive或者Pig。

推薦指數:★★★

推薦理由:減少運維時間,快速響應各種ad-hot需求和故障診斷。

7. NameNode HA

前面已經說過,NN是整個集群可能出現的單點故障。

Hadoop通過在hdfs.site.xml文件的dfs.name.dir屬性指定保持的metadata路徑,如果希望保持到多個路徑,可以使用逗號分割配置多個路徑。

dfs.name.dir

/data/cache1/dfs/nn,/data/cache2/dfs/nn

 

Hadoop官方推薦配置為metadata配置多個path,其中包含一個NFS的路徑。但根據筆者一次集群嚴重故障經驗,即使這樣,還是導致了所有鏡像文件損壞,包括SNN上的鏡像文件,所以定期備份一個可用的副本還是很有必要的。

推薦指數:★★★★★

推薦理由:Cloudera3uX和Apache1.0的NN單點問題是大家最頭痛問題之一,多些準備,少許痛苦。

8. 使用firewall阻止壞人進入

Hadoop安全控制非常簡單,只包含簡單的權限,即只根據客戶端用戶名,決定使用權限。它的設計原則是:“避免好人做錯事,但不阻止壞人做壞事”。

如果你知道某臺NN的IP和端口,則可以很輕松獲取HDFS目錄結構,并通過修改本機機器用戶名偽裝成HDFS文件所屬owner,對該文件進行刪除操作。

通過配置kerberos,可以實現身份驗證。但很多管理員使用更簡單有效的辦法——通過防火墻對訪問IP進行控制。

推薦指數:★★★★★

推薦理由:安全無小事,防范于未然。

9. 開啟垃圾箱(trash)功能

動機

我曾經犯下一個錯誤,在我加班非常累,大腦稍有混亂的時候,不小心刪除執行了一個命令“hadoop fs -rmr /xxx/xxx”,沒有刪除提示,幾TB的數據,一下子就沒有了。簡直讓我崩潰,后悔莫及。這時你多希望有個時間機器可以讓HDFS恢復到刪除前的狀態。

trash功能就是這個時間機器, 它默認是關閉的,開啟后,被你刪除的數據將會mv到操作用戶目錄的".Trash"文件夾,可以配置超過多長時間,系統自動刪除過期數據。這樣一來,當操作失誤的時候,可以把數據mv回來。開啟垃圾箱步驟如下:

vi core-site.xml ,添加下面配置,value單位為分鐘。

fs.trash.interval

1440

 

筆者 在CDH3u4下不用重啟Namenode就可以生效。開啟垃圾箱后,如果希望文件直接被刪除,可以在使用刪除命令時添加“–skipTrash” 參數,如下:

hadoop fs –rm –skipTrash /xxxx

推薦指數:★★★★★

推薦理由:想要時間機器嗎?

10. 去社區尋找幫助

Hadoop是一個非常優秀的開源項目,但它仍存有很多尚未解決的問題,諸如,NN,JT單點問題,JT掛死問題,Block在小文件下匯報效率低下等問題。此時可以通過如下渠道找到可以幫助你的人,筆者幾次集群嚴重故障都是通過Cloudera公司的google user group直接獲得幾位committer的幫助。通常前一天提問,第二天就會有反饋。下面是兩個能夠幫助的你的社區,當然你也可以幫助其他人:

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-userP>

推薦指數:★★★★★

推薦理由:沒有人比軟件作者更熟悉Hadoop本身,去社區求助,幫你解決很多自己無法跨越的問題。

責任編輯:王程程 來源: InfoQ
相關推薦

2012-09-03 10:33:43

2012-09-03 10:39:13

Hadoop管理員

2023-09-12 06:55:27

2025-03-18 00:10:00

2023-05-24 12:33:35

2024-11-29 10:00:00

Python日志記錄

2015-06-24 10:07:34

Java編碼最佳實踐

2023-12-06 07:13:16

RESTAPI客戶端

2024-09-23 00:00:00

下拉菜單UI控件

2019-12-20 09:29:25

Linux數據庫軟件

2024-04-08 14:33:18

2024-11-21 17:22:40

2022-11-02 12:17:41

2017-03-06 13:20:31

2024-03-14 11:15:58

DevOpsPipeline軟件

2022-08-12 07:48:49

Argo容器

2023-10-26 08:03:21

2010-08-03 15:48:15

2021-09-30 09:53:47

網絡安全網絡攻擊網絡威脅

2024-03-28 10:31:07

CIOIT專業人士IT領導者
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91成人在线 | 91观看| 国产又爽又黄的视频 | 国产高清视频一区二区 | 久久国际精品 | 91在线免费视频 | 91av在线免费观看 | 丁香婷婷久久久综合精品国产 | 国产精品成人一区二区三区夜夜夜 | 91国内视频在线 | 在线视频a | 久久专区 | 国产一区二区三区四区在线观看 | 国产ts一区| 国产精品国产成人国产三级 | 亚洲精选一区 | 影音先锋成人资源 | 一区二区三区四区不卡 | 搞黄网站在线观看 | 亚洲人成在线观看 | 国产精品色婷婷久久58 | 俺去俺来也www色官网cms | 九九在线精品视频 | 欧美一级片免费看 | 久久精品国产清自在天天线 | 精品一区二区三区视频在线观看 | 欧美精品一区二区三区在线 | 亚洲国产成人精品久久 | 宅女噜噜66国产精品观看免费 | 天天澡天天操 | 久久国产精品视频免费看 | 视频一区在线播放 | 国产亚洲精品久久久久久牛牛 | 国产不卡视频在线 | www.天天操| 在线播放中文字幕 | www.788.com色淫免费 | 国产一区二区不卡 | 91久久精品一区二区二区 | 操视频网站 | 黄色毛片在线观看 |