• hadoop yarn


    1 YARN产生背景

    MapReduce1.x ==> MapReduce2.x
        master/slave : JobTracker/TaskTracker
        JobTracker:单点、压力大
        仅仅只能够支持mapreduce作业
    
    资源利用率
        所有的计算框架运行在一个集群中,共享一个集群的资源,按需分配!
    

    2 YARN关键字解释

    ResourceManager-->RM:资源管理
    ApplicationMaster-->NM:节点管理
    NodeManager-->AM:应用管理
    

    3 YARN架构

    Client、ResourceManager、NodeManager、ApplicationMaster
    master/slave: RM/NM
    Client: 向RM提交任务、杀死任务等 ApplicationMaster: 每个应用程序对应一个AM AM向RM申请资源用于在NM上启动对应的Task 数据切分 为每个task向RM申请资源(container) NodeManager通信 任务的监控 NodeManager: 多个 干活 向RM发送心跳信息、任务的执行情况 接收来自RM的请求来启动任务 处理来自AM的命令 ResourceManager:集群中同一时刻对外提供服务的只有1个,负责资源相关 处理来自客户端的请求:提交、杀死 启动/监控AM 监控NM 资源相关 container:任务的运行抽象 memory、cpu.... task是运行在container里面的 可以运行am、也可以运行map/reduce task

    4 配置YARN

    cd /usr/local/hadoop2.6/hadoop-2.6.0-cdh5.16.2/etc/hadoop
    cp mapred-site.xml.template mapred-site.xml
    vim mapred-site.xml  # 编辑
    
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
    vim yarn-site.xml
    
    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

    5 启动YARN

    cd /usr/local/hadoop2.6/hadoop-2.6.0-cdh5.16.2/sbin
    bash start-yarn.sh  # 确定yarn
    
    jps  # 查看hadoop进程  出现这两个表示成功  /usr/local/hadoop2.6/hadoop-2.6.0-cdh5.16.2/logs 日志文件路径
    ResourceManager
    NodeManager
    
    http://192.168.107.216:8088/   # 直接访问  能访问证明启动成功  YARN页面
    

    6 提交自己开发的MR作业到YARN上运行的步骤

    1)mvn clean package -DskipTests  # 项目打包成jar包
        windows/Mac/Linux ==> Maven
    2)把编译出来的jar包(项目根目录/target/...jar)以及测试数据上传到服务器
        scp xxxx root@ip:目录   # 复制到hadoop服务器上
    3) 把数据上传到HDFS
        hadoop fs -put xxx hdfspath
    4) 执行作业
        hadoop jar xxx.jar 完整的类名(包名+类名) args.....
    5) 到YARN UI(ip:8088) 上去观察作业的运行情况
    6)到输出目录去查看对应的输出结果
    
    
    cd E:6-work3-javaHadoopCodehadoop01   # 进入项目所在的目录
    mvn clean package -DskipTests  # 项目打包成jar包
    cd E:6-work3-javaHadoopCodehadoop01	arget   # 这个目录下面有完成打包的  jar包
    scp hadoop01-1.0.jar root@192.168.107.216:/home/hadoop/lib   # jar包 上传到服务器中
    scp qqwry.dat root@192.168.107.216:/home/hadoop/lib   # qqwry.dat ip数据上传到服务器中
    scp trackinfo_20130721.data root@192.168.107.216:/home/hadoop/lib   # 日志数据上传到服务器中
    hadoop fs -mkdir -p /project/input/raw   # 创建hadoop目录
    hadoop fs -lsr /   # 查看目录是否创建成功
    hadoop fs -put trackinfo_20130721.data /project/input/raw   # 上传数据到目录中
    hadoop fs -lsr /   # 查看目录是否创建成功
    
    vim pv.sh
    hadoop jar /home/hadoop/lib/hadoop01-1.0.jar com.project.mr.PVStatApp hdfs://192.168.107.216:8020/project/input/raw hdfs://192.168.107.216:8020/project/output/v1/pvsata
    
    chmod 777 pv.sh
    
    bash pv.sh
    

      

      

      

      

  • 相关阅读:
    IIS6.0应用程序池回收和工作进程
    SQL Server 中的 bit 类型的使用
    VS2008 SP1简体中文版下载与.Net Framework 3.5 SP1简体中文版下载
    C#技术教程:http://www.cftea.com/docs/asp.net/csharp/
    C#中得到程序当前工作目录和执行目录的一些方法
    C#中 ? 运算符 和 ??运算符
    dhl:页面中调用 通过类返回SqlDataReader类型的对象
    C# 枚举(enum)-设计
    CnBlogs博文排版技巧 写博文了~~
    金山快译2007版
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/12836851.html
Copyright © 2020-2023  润新知