码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-07 14:22:57      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:停止   端口   ros   lin   权限   数据   提交   改变   hadoop   

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

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

标签:停止   端口   ros   lin   权限   数据   提交   改变   hadoop   

原文地址:http://www.cnblogs.com/landiljy/p/6956397.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!