zoukankan      html  css  js  c++  java
  • mapreduce与yarn

    mapreduce程序应该是在很多机器上并行启动,而且先执行map task,当众多的maptask都处理完自己的数据后,还需要启动众多的reduce task,这个过程如果用用户自己手动调度不太现实,需要一个自动化的调度平台——hadoop中就为运行mapreduce之类的分布式运算程序开发了一个自动化调度平台——YARN

    首先,为你的mapreduce程序开发一个提交jobyarn的客户端类(模板代码)

    描述你的mapreduce程序运行时所需要的一些信息(比如用哪个mapperreducermapreduce输出的kv类型、jar包所在路径、reduce task的数量、输入输出数据的路径)

    将信息和整个工程的jar包一起交给yarn

    然后,将整个工程(yarn客户端类+ mapreduce所有jar和自定义类)打成jar

    然后,将jar包上传hadoop集群中的任意一台机器上

    最后,运行jar包中的(YARN客户端类)

     

    [root@hdp-04 ~]# hadoop jar wc.jar cn.edu360.hadoop.mr.wc.JobSubmitter

    安装yarn集群

    yarn集群中有两个角色:

    主节点:Resource Manager  1

    从节点:Node Manager   N

    Resource Manager一般安装在一台专门的机器上

    Node Manager应该与HDFS中的data node重叠在一起

    修改配置文件:

    yarn-site.xml

    <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>hdp-04</value>

    </property>

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

    <property>

    <name>yarn.nodemanager.resource.memory-mb</name>

    <value>2048</value>

    </property>

    <property>

    <name>yarn.nodemanager.resource.cpu-vcores</name>

    <value>2</value>

    </property>

    然后复制到每一台机器上

    然后在hdp-04上,修改hadoopslaves文件,列入要启动nodemanager的机器

    然后将hdp-04到所有机器的免密登陆配置好

    然后,就可以用脚本启动yarn集群:

    sbin/start-yarn.sh

    停止:

    sbin/stop-yarn.sh

    启动完成后,可以在windows上用浏览器访问resourcemanagerweb端口:

    http://hdp-04:8088

    resource mananger是否认出了所有的node manager节点

  • 相关阅读:
    过滤指定目录下指定后缀名文件
    Oracle 存储过程创建表
    编码测试之控制条件筛选心得——AE二次开发篇
    log4j配置祥解 (转)
    手机浏览器的viewport(视觉窗口)
    git 常用技巧
    添加eclipse的字体样式
    如何检测android 文件签名成功(转帖)
    javascript 解析json
    身份证正则表达式
  • 原文地址:https://www.cnblogs.com/djh222/p/11199204.html
Copyright © 2011-2022 走看看