表1新舊hadoop腳本/變量/位置變化表html
改變項node |
原框架中web |
新框架中(Yarn)bash |
備註架構 |
配置文件 |
${hadoop_home_dir} |
${hadoop_home_dir} |
Yarn 框架也兼容老的${hadoop_home_dir}/conf 位置配置,啓動時會檢測是否存在老的 conf 目錄,若是存在將加載 conf 目錄下的配置,不然加載 etc 下配置分佈式 |
啓停腳本oop |
${hadoop_home_dir} |
${hadoop_home_dir} |
新的 Yarn 框架中啓動分佈式文件系統和啓動Yarn 分離,啓動 / 中止分佈式文件系統的命令位於 ${hadoop_home_dir}/sbin 目錄下,啓動/ 中止 Yarn 框架位於${hadoop_home_dir}/bin/ 目錄下 |
JAVA_HOME |
${hadoop_home_dir} |
${hadoop_home_dir}/etc |
Yarn 框架中因爲啓動 hdfs 分佈式文件系統和啓動 MapReduce 框架分離,JAVA_HOME 須要在hadoop-env.sh 和 Yarn-env.sh 中分別配置 |
HADOOP_LOG_DIR全局變量 |
不須要配置 |
${hadoop_home_dir}/etc |
老框架在 LOG,conf,tmp 目錄等均默認爲腳本啓動的當前目錄下的 log,conf,tmp 子目錄Yarn 新框架中 Log 默認建立在 Hadoop 用戶的 home 目錄下的 log 子目錄,所以最好在${hadoop_home_dir}/etc/hadoop/hadoop-env.sh配置 HADOOP_LOG_DIR,不然有可能會由於你啓動hadoop 的用戶的 .bashrc 或者 .bash_profile 中指定了其餘的 PATH 變量而形成日誌位置混亂,而該位置沒有訪問權限的話啓動過程當中會報錯 |
表2 新舊hadoop框架配置項變化表
配置文件 | 配置項 | Hadoop 0.20.X 配置 | Hadoop 0.23.X 配置 | 說明 |
core-site.xml | 系統默認分佈式文件 URI | fs.default.name | fs.defaultFS |
|
hdfs-site.xml |
DFS name node 存放 name table 的目錄 |
dfs.name.dir |
dfs.namenode.name.dir |
新框架中 name node 分紅 dfs.namenode.name.dir( 存放 naname table 和 dfs.namenode.edits.dir(存放 edit 文件),默認是同一個目錄 |
DFS data node 存放數據 block 的目錄 |
dfs.data.dir |
dfs.datanode.data.dir |
新框架中 DataNode 增長更多細節配置,位於 dfs.datanode. 配置項下,如dfs.datanode.data.dir.perm(datanode local 目錄默認權限);dfs.datanode.address(datanode 節點監聽端口);等 |
|
分佈式文件系統數據塊複製數 |
dfs.replication |
dfs.replication |
新框架與老框架一致,值建議配置爲與分佈式 cluster 中實際的 DataNode 主機數一致 |
|
mapred-site.xml |
Job 監控地址及端口 |
mapred.job.tracker |
無 | 新框架中已改成 Yarn-site.xml 中的 resouceManager 及 nodeManager 具體配置項,新框架中歷史 job 的查詢已從 Job tracker 剝離,納入單獨的mapreduce.jobtracker.jobhistory 相關配置, |
第三方 MapReduce 框架 |
無 | mapreduce.framework.name |
新框架支持第三方 MapReduce 開發框架以支持如 SmartTalk/DGSG 等非 Yarn 架構,注意一般狀況下這個配置的值都設置爲 Yarn,若是沒有配置這項,那麼提交的 Yarn job 只會運行在 locale 模式,而不是分佈式模式。 |
|
Yarn-site.xml |
The address of the applications manager interface in the RM |
無 | Yarn.resourcemanager.address |
新框架中 NodeManager 與 RM 通訊的接口地址 |
The address of the scheduler interface |
無 | Yarn.resourcemanager.scheduler.address |
同上,NodeManger 須要知道 RM 主機的 scheduler 調度服務接口地址 |
|
The address of the RM web application |
無 | Yarn.resourcemanager.webapp.address |
新框架中各個 task 的資源調度及運行情況經過經過該 web 界面訪問 |
|
The address of the resource tracker interface |
無 | Yarn.resourcemanager.resource-tracker.address |
新框架中 NodeManager 須要向 RM 報告任務運行狀態供 Resouce 跟蹤,所以 NodeManager 節點主機須要知道 RM 主機的 tracker 接口地址 |
原文地址:http://www.aboutyun.com/thread-7513-1-1.html
新框架中 NodeManager 須要向 RM 報告任務運行狀態供 Resouce 跟蹤,所以 NodeManager 節點主機須要知道 RM 主機的 tracker 接口地址 |