表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 接口地址 |