《Hadoop权威指南:大数据的存储与分析》—4.1.3 构建YARN应用
4.1.3 构建YARN应用
从无到有编写一个YARN应用是一件相当复杂的事,但在很多情况下不必这样。有很多现成的应用,在符合要求的情况下通常可以直接使用。例如,如果你有兴趣运行一个作业的有向无环图,那么Spark或Tez就很合适;如果对流处理有兴趣,Spark、Samza或Storm能提供帮助。[1]
许多项目都简化了构建YARN应用的过程。先前提到的Apache Slider,使得在YARN上运行现有的分布式应用成为可能。对于一个应用(如HBase)来说,用户可以独立于其他用户在集群上运行自己的实例,则意味着不同的用户能够运行同一应用的不同版本。Slider提供了控制手段,可以修改应用运行所在的节点的数量,也可以暂停和恢复应用的运行。
Apache Twill(http://twill.incubator.apache.org/)与Slider类似,但额外提供了一个简单的编程模型,用于开发YARN上的分布式应用。Twill允许将集群进程定义为Java Runnable的扩展,然后在集群上的YARN容器中运行它们。Twill同样为实时日志(来自于runnable类的日志事件以流的方式返回客户端)和命令消息提供支持。
当遇到以上方法都不适用的情况时,例如一个应用有复杂的调度需求,那么作为YARN项目自身一部分的distributed shell应用为如何写YARN应用做了一个示范。该应用演示了如何使用YARN客户端API来处理客户端或application master与YARN守护进程之间的通信。
- 点赞
- 收藏
- 关注作者
评论(0)