
目的
本文描述了如何安裝、配置和管理有實際意義的Hadoop集群,其規??蓮膸讉€節點的小集群到幾千個節點的超大集群。
如果你希望在單機上安裝Hadoop玩玩,從這里能找到相關細節。
先決條件
安裝
安裝Hadoop集群通常要將安裝軟件解壓到集群內的所有機器上。
通常,集群里的一臺機器被指定為NameNode,另一臺不同的機器被指定為JobTracker。這些機器是masters。余下的機器即作為DataNode也作為TaskTracker。這些機器是slaves。
我們用HADOOP_HOME指代安裝的根路徑。通常,集群里的所有機器的HADOOP_HOME路徑相同。
配置
配置文件
對Hadoop的配置通過conf/目錄下的兩個重要配置文件完成:
hadoop-default.xml - 只讀的默認配置。
hadoop-site.xml- 集群特有的配置。
要了解更多關于這些配置文件如何影響Hadoop框架的細節,請看這里。
此外,通過設置conf/hadoop-env.sh中的變量為集群特有的值,你可以對bin/目錄下的Hadoop腳本進行控制。
集群配置
要配置Hadoop集群,你需要設置Hadoop守護進程的運行環境和Hadoop守護進程的運行參數。
Hadoop守護進程指NameNode/DataNode 和JobTracker/TaskTracker。
配置Hadoop守護進程的運行環境
管理員可在conf/hadoop-env.sh腳本內對Hadoop守護進程的運行環境做特別指定。
至少,你得設定JAVA_HOME使之在每一遠端節點上都被正確設置。
管理員可以通過配置選項HADOOP_*_OPTS來分別配置各個守護進程。 下表是可以配置的選項。
例如,配置Namenode時,為了使其能夠并行回收垃圾(parallelGC),
要把下面的代碼加入到hadoop-env.sh:
export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC ${HADOOP_NAMENODE_OPTS}"
其它可定制的常用參數還包括:
HADOOP_LOG_DIR- 守護進程日志文件的存放目錄。如果不存在會被自動創建。
HADOOP_HEAPSIZE- 最大可用的堆大小,單位為MB。比如,1000MB。 這個參數用于設置hadoop守護進程的堆大小。缺省大小是1000MB。
配置Hadoop守護進程的運行參數
這部分涉及Hadoop集群的重要參數,這些參數在conf/hadoop-site.xml中指定。
通常,上述參數被標記為 final 以確保它們不被用戶應用更改。
現實世界的集群配置
這節羅列在大規模集群上運行sort基準測試(benchmark)時使用到的一些非缺省配置。
運行sort900的一些非缺省配置值,sort900即在900個節點的集群上對9TB的數據進行排序:
運行sort1400和sort2000時需要更新的配置,即在1400個節點上對14TB的數據進行排序和在2000個節點上對20TB的數據進行排序:
Slaves
通常,你選擇集群中的一臺機器作為NameNode,另外一臺不同的機器作為JobTracker。余下的機器即作為DataNode又作為TaskTracker,這些被稱之為slaves。
在conf/slaves文件中列出所有slave的主機名或者IP地址,一行一個。
日志
Hadoop使用Apache log4j來記錄日志,它由Apache Commons Logging框架來實現。編輯conf/log4j.properties文件可以改變Hadoop守護進程的日志配置(日志格式等)。
歷史日志
作業的歷史文件集中存放在hadoop.job.history.location,這個也可以是在分布式文件系統下的路徑,其默認值為${HADOOP_LOG_DIR}/history。jobtracker的web UI上有歷史日志的web UI鏈接。
歷史文件在用戶指定的目錄hadoop.job.history.user.location也會記錄一份,這個配置的缺省值為作業的輸出目錄。這些文件被存放在指定路徑下的“_logs/history/”目錄中。因此,默認情況下日志文件會在“mapred.output.dir/_logs/history/”下。如果將hadoop.job.history.user.location指定為值none,系統將不再記錄此日志。
用戶可使用以下命令在指定路徑下查看歷史日志匯總
$ bin/hadoop job -history output-dir
這條命令會顯示作業的細節信息,失敗和終止的任務細節。
關于作業的更多細節,比如成功的任務,以及對每個任務的所做的嘗試次數等可以用下面的命令查看
$ bin/hadoop job -history all output-dir
一但全部必要的配置完成,將這些文件分發到所有機器的HADOOP_CONF_DIR路徑下,通常是${HADOOP_HOME}/conf。
Hadoop的機架感知
NameNode和JobTracker通過調用管理員配置模塊中的APIresolve來獲取集群里每個slave的機架id。該API將slave的DNS名稱(或者IP地址)轉換成機架id。使用哪個模塊是通過配置項topology.node.switch.mapping.impl來指定的。模塊的默認實現會調用topology.script.file.name配置項指定的一個的腳本/命令。 如果topology.script.file.name未被設置,對于所有傳入的IP地址,模塊會返回/default-rack作為機架id。在Map/Reduce部分還有一個額外的配置項mapred.cache.task.levels,該參數決定cache的級數(在網絡拓撲中)。例如,如果默認值是2,會建立兩級的cache- 一級針對主機(主機 -> 任務的映射)另一級針對機架(機架 -> 任務的映射)。
啟動Hadoop
啟動Hadoop集群需要啟動HDFS集群和Map/Reduce集群。
格式化一個新的分布式文件系統:
$ bin/hadoop namenode -format
在分配的NameNode上,運行下面的命令啟動HDFS:
$ bin/start-dfs.sh
bin/start-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內容,在所有列出的slave上啟動DataNode守護進程。
在分配的JobTracker上,運行下面的命令啟動Map/Reduce:
$ bin/start-mapred.sh
bin/start-mapred.sh腳本會參照JobTracker上${HADOOP_CONF_DIR}/slaves文件的內容,在所有列出的slave上啟動TaskTracker守護進程。
停止Hadoop
在分配的NameNode上,執行下面的命令停止HDFS:
$ bin/stop-dfs.sh
bin/stop-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內容,在所有列出的slave上停止DataNode守護進程。
在分配的JobTracker上,運行下面的命令停止Map/Reduce:
$ bin/stop-mapred.sh
bin/stop-mapred.sh腳本會參照JobTracker上${HADOOP_CONF_DIR}/slaves文件的內容,在所有列出的slave上停止TaskTracker守護進程。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25