当前位置:   article > 正文

Alex 的 Hadoop 菜鸟教程: 第5课 YARN 安装以及helloworld (基于centos的CDH)_菜鸟教育 hadoop yarn

菜鸟教育 hadoop yarn

原帖地址:http://blog.csdn.net/nsrainbow/article/details/36627675

新老MapReduce的比较

说到YARN肯定要先说下老的MapReduce

MRv1 (MapReduce v1)的架构图


从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路:
  • 首先用户程序 (JobClient) 提交了一个 job,job 的信息会发送到 Job Tracker 中,Job Tracker 是 Map-reduce 框架的中心,他需要与集群中的机器定时通信 (heartbeat), 需要管理哪些程序应该跑在哪些机器上,需要管理所有 job 失败、重启等操作。
  • TaskTracker 是 Map-reduce 集群中每台机器都有的一个部分,他做的事情主要是监视自己所在机器的资源情况。
  • TaskTracker 同时监视当前机器的 tasks 运行状况。TaskTracker 需要把这些信息通过 heartbeat 发送给 JobTracker,JobTracker 会搜集这些信息以给新提交的 job 分配运行在哪些机器上。上图虚线箭头就是表示消息的发送 - 接收的过程。
这里就不说老MapReduce的缺点了,想了解的朋友看最后的参考资料。总之大家如果再看到教程里面出现Job Tracker,Task Tracker的概念就不用看了,一定是老MapReduce

YARN的架构图



  • 重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控
  • 上图中 ResourceManager 支持分层级的应用队列,这些队列享有集群一定比例的资源。从某种意义上讲它就是一个纯粹的调度器,它在执行过程中不对应用进行监控和状态跟踪。同样,它也不能重启因应用失败或者硬件错误而运行失败的任务。ResourceManager 是基于应用程序对资源的需求进行调度的 ; 每一个应用程序需要不同类型的资源因此就需要不同的容器。
  • 上图中 NodeManager 是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况 (CPU,内存,硬盘,网络 ) 并且向调度器汇报。
  • 每一个应用的 ApplicationMaster 负责相应的调度和协调。一个应用程序无非是一个单独的传统的 MapReduce 任务或者是一个 DAG( 有向无环图 ) 任务。每一个应用的 ApplicationMaster 的职责有:向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因。
概念大概懂就好了,不需要一开始就理解,先做例子,再理解理论。

安装YARN

YARN就是Map Reduce 2代,只不过换了一个名字,逼格比较高而已。如果你是照着我的教程  Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 - HA方式 (2台服务器) 来安装的,那么你会发现有些组件已经装好了。

安装

ResouceManager安装

随便挑选一台机器作为ResourceManager,可以单独开一台机器也可以装在其中一个namenode上面,运行以下命令
sudo yum install hadoop-yarn-resourcemanager

启动服务
service hadoop-yarn-resourcemanager start


在所有datanode上安装nodemanager和mapreduce

sudo yum install hadoop-yarn-nodemanager hadoop-mapreduce

启动服务
service hadoop-yarn-nodemanager start

以下两个组件之前的教程中是没说到的,所以请大家不要漏掉安装了

安装Hadoop-client

在所有要运行mapreduce的机器上安装hadoop-client,这个就是一堆运行mapreduce需要的jar包
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/776572
推荐阅读
相关标签
  

闽ICP备14008679号