zoukankan      html  css  js  c++  java
  • YARN安装和使用

    简介

    Yet Another Resource Negotiator ,负责整个集群资源的调度,和管理,支持多框架资源统一调度(HIVE spark flink)

    开启yarn

    安装hadoop,可以看我之前的博文 这边就不讲了

    编辑 etc/hadoop/mapred-site.xml: 添加如下配置

    <configuration>
    	<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    	</property>
    </configuration>
    

      

    编辑 etc/hadoop/yarn-site.xml: 添加如下配置

    <configuration>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
    		<value>mapreduce_shuffle</value>
    	</property>
    </configuration>
    

      

    启动 RM 和 NM

    Start ResourceManager daemon and NodeManager daemon:
      $ sbin/start-yarn.sh
    

      

    关闭Yarn

     sbin/stop-yarn.sh
    

      

    打开浏览器访问:http://192.168.1.100:8088/cluster

    模块简介

    ResourceManager (RM)

    客户端提交作业到 RM, RM对应多个 NM ,RM是集群中对外提供的服务,同一时刻只有一个负责资源相关处理,客户端任务来了之后,先启动AM 然后监控AM。 并且还监控NM

    ApplicationMaster(AM)

    运行在NodeManager里面的,去RM里面申请资源用于在NM上启动对应的task ,每个应用程序对应一个AM.。 并且做数据的切分,为每个task向RM申请资源。并且和NM通信。

    NodeManager(NM)

    真正工作计算的节点,同时向RM发送心跳信息 任务执行情况。接受来自RM的请求 并且处理AM的命令。

    Container

    对于任务的运行抽象,一个Container既可以运行AM 也可以运行具体的 map 和 reduce

    yarn的基本流程
    • client向yarn提交job,首先找ResourceManager分配资源,
    • ResourceManager开启一个Container,在Container中运行一个Application manager
    • Application manager找一台nodemanager启动Application master,计算任务所需的计算
    • Application master向Application manager(Yarn)申请运行任务所需的资源
    • Resource scheduler将资源封装发给Application master
    • Application master将获取到的资源分配给各个nodemanager
    • 各个nodemanager得到任务和资源开始执行map task
    • map task执行结束后,开始执行reduce task
    • map task和 reduce task将执行结果反馈给Application master
    • Application master将任务执行的结果反馈application manager![](./梁天的博客 _ YARN安装和使用

    把作业提交到 yarn上面

    自己的MapReduce 首先打成个jar包 传到服务器 然后执行

    hadoop jar xxx.jar   me.liangtian.App    param1 param2  
    
    

    问题排查

    我这边一直报错: **Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out. **

    可能是下面几点造成的

    • 系统设置有关,文件较大,无法分配大内存
    • 机器位数是64位导致这个问题
    • /etc/hosts 里面没有配master的hostname
    • 防火墙没关
    • 临时目录问题

    问题1我安装网上方法,对配置文件做了修改: vim /etc/security/limits.conf 加入 * soft nofile 102400 * hard nofile 409600 vim /etc/pam.d/login 加入:session required /lib/security/pam_limits.so但是还是没有办法解决

    问题三:由于我是伪分布式,所以只要配本机就行,看了下配置了hostname

    问题四:setup下看了我的防火墙,发现防火墙有两个,一个是firework一个是selinux,第一个关了,第二个没关 关了还是不行

    最后发现是问题五: yarn.nodemanager.local-dirs对应的路径必须在hdfs-site.xml中的hadoop.tmp.dir路径下,否则yarn会报错找不到缓存文件 需要修改 yarn-site.xml 加上对应的文件目录

    <property>
    	<name>yarn.nodemanager.local-dirs</name>
    	<value>hadoop.tmp.dir/nm-local-dir</value>
    </property>
    

      

     
  • 相关阅读:
    document 对象
    AdodbStream的方法和属性
    WEB开发者版本
    ATI HD2400
    驱蚊植物
    PHP5+UTF8多文件上传类
    nVIDIA_driver
    ati
    Zend_Http_Client setFileUpload
    Sqlserver2005 数据类型
  • 原文地址:https://www.cnblogs.com/gwyy/p/12205227.html
Copyright © 2011-2022 走看看