『转载』hadoop 1.X到2.X的变化

         表1新旧hadoop脚本/变量/位置变化表

改变项

原框架中

新框架中(Yarn)

备注

配置文件
位置

${hadoop_home_dir}
/conf

${hadoop_home_dir}
/etc/hadoop/

Yarn 框架也兼容老的${hadoop_home_dir}/conf 位置配置,启动时会检测是否存在老的 conf 目录,如果存在将加载 conf 目录下的配置,否则加载 etc 下配置

启停脚本

${hadoop_home_dir}
/bin/start(stop)-all.sh

${hadoop_home_dir}
/sbin/start(stop)-dfs.sh

${hadoop_home_dir}/bin
/start(stop)-all.sh

新的 Yarn 框架中启动分布式文件系统和启动Yarn 分离,启动 / 停止分布式文件系统的命令位于 ${hadoop_home_dir}/sbin 目录下,启动/ 停止 Yarn 框架位于${hadoop_home_dir}/bin/ 目录下

JAVA_HOME
全局变量

${hadoop_home_dir}
/bin/start-all.sh 中

${hadoop_home_dir}/etc
/hadoop/hadoop-env.sh
${hadoop_home_dir}/etc
/hadoop/Yarn-env.sh

Yarn 框架中由于启动 hdfs 分布式文件系统和启动 MapReduce 框架分离,JAVA_HOME 需要在hadoop-env.sh 和 Yarn-env.sh 中分别配置

HADOOP_LOG_DIR全局变量

不需要配置

${hadoop_home_dir}/etc
/hadoop/hadoop-env.sh

老框架在 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 变量而造成日志位置混乱,而该位置没有访问权限的话启动过程中会报错

  • 由于新的 Yarn 框架与原 Hadoop MapReduce 框架相比变化较大,核心的配置文件中很多项在新框架中已经废弃,而新框架中新增了很多其他配置项,看下表所示会更加清晰:

表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.permdatanode local 目录默认权限);dfs.datanode.addressdatanode 节点监听端口);等

   

分布式文件系统数据块复制数

 

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

配置文件

配置项

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.permdatanode local 目录默认权限);dfs.datanode.addressdatanode 节点监听端口);等

 

分布式文件系统数据块复制数

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

posted @ 2017-06-07 12:14  洛水3000  阅读(385)  评论(0编辑  收藏  举报
开始录制