zoukankan      html  css  js  c++  java
  • 如何简单写yarn app

    尽管YARN自带的编程API已经得到了极大的简化,但从头开发一个YARN应用程序仍是一件非常困难的事情。在YARN上编写一个应用程序,你需要开发Client和ApplicationMaster两个模块,并了解涉及到的几个协议的若干API和参数列表,其中ApplicationMaster还要负责资源申请,任务调度、容错等,总之,整个过程非常复杂。

    Apache Twill(http://twill.apache.org/index.html)这个项目则是为简化YARN上应用程序开发而成立的项目,该项目把与YARN相关的重复性的工作封装成库,使得用户可以专注于自己的应用程序逻辑。

    下面代码示例是使用Apache Twill开发一个运行在YARN上的helloworld程序:

    
    

    {
    Logger LOG=LoggerFactory.getLogger(HelloWorld.class);
    {

    {
    LOG.info();
    }
    }

    {
    YarnConfiguration conf= YarnConfiguration();
    TwillRunnerService runner= YarnTwillRunnerService(conf, );
    runner.startAndWait();
    TwillController controller=runner.prepare( HelloWorldRunnable())?.start();
    Services.getCompletionFuture(controller).get();
    }

    Twill所做的事情是开发了一个通用的Client和ApplicationMaster实现,并提供了一套编程API,使得用户可直接实现这套API便可以编写运行在YARN上的分布式程序。Twill应用程序运行在YARN上的流程跟普通程序一样,流程图下:

    640?wx_fmt=png

    为极大地方便用户编写运行在YARN上的分布式应用程序,Twill做了大量通用模块和特性,包括:

    (1)实时日志收集

    基于kafka实现了日志收集功能,可将应用程序产生的日志实时收集起来,便于集中化分析和展示。

    (2)资源汇报

    可实时收集任务占用的各类资源,包括cpu利用率,物理内存等。

    (3)资源弹性扩展

    可动态改变应用程序占用的资源,比如将container数目在线由5个增长为10个。

    (4)状态恢复

    当客户端失去与应用程序链接后,可通过API重构一个新的客户端,重新获取状态。

    (5)服务发现

    应用程序可向zookeeper注册一些信息,便于其他服务或者客户端发现该应用程序的位置,以便与之通信。

    随着YARN越来越成熟,它必将成为一个基础核心系统,英语关联词大全届时与Apache Twill类似的项目显得尤为重要。

    转载自董的博客:http://dongxicheng.org/mapreduce-nextgen/apache-twill-for-yarn/

    twill官方demo,可以参看:https://github.com/apache/twill/tree/master/twill-examples

    推荐阅读:

    hadoop系列之深入优化

    经验|如何设置Spark资源

    Hive鲜为人知的宝石-Hooks

    640?wx_fmt=png


    文章来源:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/82322355

  • 相关阅读:
    工信部计算机系统集成资质(高级)项目经理
    cout cerr clog
    Cstyle 字符串小示例
    泛型<编程>:基于策略的basic_string实现
    string中c_str()、data()、copy(p,n)函数的用法
    C++引用与const引用比较
    深入了解scanf/getchar/gets/cin等函数(转载)
    使用ifstream和getline读取文件内容[c++]
    const参数,const返回值与const函数 .
    C++ limits头文件的用法(numeric_limits)
  • 原文地址:https://www.cnblogs.com/mazhujun/p/9633438.html
Copyright © 2011-2022 走看看