首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

以敏捷方式将单节点集群从 MapReduce Version 1 迁移到 YARN (3)

以敏捷方式将单节点集群从 MapReduce Version 1 迁移到 YARN (3)

第 5 步. 创建用户和组一种不错的做法是使用不同的专用帐户运行不同的 Hadoop 后台进程。YARN 引入了两个新的后台进程:ResourceManager 和 NodeManager,它们是使用一个        YARN 帐户来运行的。
使用 清单 11 中的命令,确定是否已创建了用户 yarn 和它是否属于 hadoop 组(例如,它可能已在您首次使用 CHD4 安装 MRv1        时创建)。
清单 11. 检查是否已创建用户        yarn
1
$ id yarn uid=118(yarn) gid=129(yarn) groups=129(yarn),126(hadoop)




如果尚未创建该用户,则需要创建一个属于 hadoop 组的用户 yarn,如下所示。
清单 12. 创建用户        yarn
1
2
$ groupadd hadoop
$ useradd -g hadoop yarn




第 6 步. 停止 MRv1 集群并卸载 MRv1 包在创建配置文件后,可以停止 MRv1 后台进程。
清单 13. 停止 MRv1        后台进程并卸载它们的包
1
2
$ sudo /etc/init.d/hadoop-0.20-mapreduce-tasktracker stop
$ sudo /etc/init.d/hadoop-0.20-mapreduce-jobtracker stop




如果这些后台进程已成功停止,那么在 sudo jps 命令的输出中应该不会看到它们。
清单 14. sudo jps        命令
1
2
3
4
5
$ sudo jps
7757 Jps
5389 NameNode
5581 DataNode
7714 SecondaryNameNode




删除 MRv1 包,如下所示。
清单 15. 删除 MRv1 包        
1
2
3
$ sudo apt-get remove hadoop-0.20-mapreduce-jobtracker
$ sudo apt-get remove hadoop-0.20-mapreduce-tasktracker
$ sudo apt-get remove hadoop-0.20-mapreduce




仔细检查这些包是否已成功删除。
清单 16. 使用 purge        选项
1
2
3
4
$ sudo dpkg-query -l | grep mapreduce
rc  hadoop-0.20-mapreduce               ...
rc  hadoop-0.20-mapreduce-jobtracker    ...
rc  hadoop-0.20-mapreduce-tasktracker   ...




上述输出中的第一列应有一个 rc 值,它表示这些包已删除但保留了配置文件。要同时删除包和配置文件,则需要使用 purge 选项 apt-get          purge。
第 7 步. 配置替代方案通过使用替代框架,可以确保有一个符号链接 /etc/hadoop/conf 指向一个包含 YARN 配置的目录。
清单 17. 使用替代框架
1
2
$ sudo update-alternatives --verbose --install /etc/hadoop/conf
hadoop -conf /etc/hadoop/conf.yarn 50




确保 /etc/hadoop/conf.yarn 是一个具有最高优先级的目录,并且显示为目前最佳的版本。
清单 18. 确保 /etc/hadoop/conf.yarn        拥有最高的优先级
1
2
3
4
5
6
7
$ sudo update-alternatives --display hadoop-conf
hadoop-conf - auto mode
  link currently points to /etc/hadoop/conf.yarn
/etc/hadoop/conf.dist - priority 30
/etc/hadoop/conf.empty - priority 10
/etc/hadoop/conf.yarn - priority 50
Current 'best' version is '/etc/hadoop/conf.yarn'.




第 8 步. 安装 YARN 包并启动 YARN 进程在第一次迭代中,安装了 ResourceManager、NodeManager 和 MRv2 包,如 清单 19 中所示。MRv2        只是重新实现了经典的 MapReduce 范例,以便能够在 YARN 上运行。ResourceManager 和 NodeManager 是 YARN 中引入的新后台进程。
清单 19. 获取 ResourceManager 和        NodeManager
1
2
3
$ sudo apt-get update
$ sudo apt-get install hadoop -yarn-nodemanager
$ sudo apt-get install hadoop-mapreduce




默认情况下,在使用 CDH 安装包后,后台进程会自动启动(此行为与 HDP2 和标准 Apache Hadoop 发行版中的行为不同)。
使用下面给出的命令启动后台进程。
清单 20. 启动后台进程
1
2
$ sudo /etc/init.d/hadoop-yarn-resourcemanager start
$ sudo /etc/init.d/hadoop-yarn-nodemanager start




备注:如果已在之前的步骤中调整了 HDFS 后台进程的堆大小,请重新启动 NameNode、DataNode 和        SecondaryNameNode,让这些更改生效。
确认后台进程已使用新的内存设置启动。如果多次出现 -Xmx 选项,则会使用最后一个选项的值。发出命令 $ sudo jps -v | grep          Xmx,确认 Hadoop 后台进程使用了正确的内存量。
如果后台进程未启动,那么首先可以查看 /var/log/hadoop-yarn/yarn-yarn-resourcemanager-*.log 和        /var/log/hadoop-yarn/yarn-yarn-nodemanager-*.log 中的日志来排除问题。
第 9 步. 浏览 ResourceManager 的 Web 用户界面在浏览器中打开 ResourceManager 的 Web UI:,它类似于图 1。
图 1. 全新安装后的 ResourceManager Web UI第 10 步. 在 YARN 集群上提交第一个 MapReduce 作业要验证安装,可以使用 Pi Estimator MapReduce 作业对集群进行冒烟测试。
备注:使用一个不同的 JAR 文件        (/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar),如 清单 21 中所示。目录        /usr/lib/hadoop-0.20-mapreduce 会在删除 hadoop-0.20-mapreduce 包时删除。目录 /usr/lib/hadoop-mapreduce        会在安装 hadoop-mapreduce 包时安装。
清单 21. 对集群执行冒烟测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 10
...
14/03/23 20:53:53 INFO client.YarnClientImpl: Submitted application
application_1395603842382_0001 to ResourceManager at
hakunamapdata/127.0.1.1:8032
14/03/23 20:53:53 INFO mapreduce.Job: The url to track the job:
http://hakunamapdata:8088/proxy/application
    _1395603842382_0001/
14/03/23 20:53:53 INFO mapreduce.Job: Running job: job
    _1395603842382_0001
14/03/23 20:54:01 INFO mapreduce.Job:  map 0% reduce 0%
14/03/23 20:54:47 INFO mapreduce.Job:  map 60% reduce 0%
14/03/23 20:55:20 INFO mapreduce.Job:  map 100% reduce 0%
14/03/23 20:55:21 INFO mapreduce.Job:  map 100% reduce 100%
14/03/23 20:55:21 INFO mapreduce.Job: Job job
    _1395603842382_0001
completed successfully
...
Job Finished in 89.679 seconds
Estimated value of Pi is 3.20000000000000000000




确保可以在         上看到此作业,如图 2 所示。
图 2. 包含一个已成功完成的应用程序的 ResourceManager Web UI第 11 步. 检查 MapReduce 作业的统计数据如果单击最后一列中的 History 来查看作业的统计数据,则会得到错误消息 Unable to connect,如图 3        所示。浏览器尝试连接 MapReduce Job History Server,但 MapReduce Job History Server 尚未部署。
备注:/jobhistory/ 变成了 URL        http://hakunamapdata:19888/jobhistory/job/ 的一部分。
图 3. 图 3. Unable to connect 错误
返回列表