Storm(五)Storm on YARN介绍

本文深入探讨了将Storm部署到YARN的优势与挑战。通过YARN,Storm集群实现了与其他应用共享计算资源的能力,提高了资源利用率。此外,它还能共享底层HDFS存储,减少维护成本和数据迁移开销。然而,YARN的局限性导致了一些设计缺陷,如难以在相同机架上部署所有服务和动态升级NodeManager的问题。本文详细介绍了StormOnYARN的架构,包括如何利用YARN管理资源和部署服务,并提供了相关链接供进一步研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Storm On YARN带来的好处


相比于将Storm部署到一个独立的集群中,Storm On YARN带来的好处很多,主要有以下几个:

  • 弹性计算资源: 将Storm运行到YARN上后,Storm可与其他应用程序(比如MapReduce批处理应用程序)共享整个集群中的资源,这样,当Storm负载骤增时,可动态为它增加计算资源,而当负载减小时,可释放部分资源,从而将这些资源暂时分配给负载更重的批处理应用程序。
  • 共享底层存储: Storm可与运行在YARN上的其他框架共享底层的一个HDFS存储系统,可避免多个集群带来的维护成本,同时避免数据跨集群拷贝带来的网络开销和时间延迟。
  • 支持多版本: 可同时将多个Storm版本运行YARN上,避免一个版本一个集群带来的维护成本。

Storm On YARN存在的问题


由于YARN本身的不完善,导致Storm On YARN设计存在诸多缺陷,以下是几个典型问题:

  • 难以将所有Storm服务运行在相邻的节点上,比如同一个机架上,这是由于YARN自身不支持资源组调度,只能实现指定一个rack,然后增量获取资源,以期望所有资源来自这个rack,但是当该rack空闲资源不足时,YARN也无能为力。
  • 由于Nimbus服务运行在ApplicationMaster上,而一旦ApplicationMaster失败后,YARN会将它运行在另外一个节点上,这意味着Nimbus服务可能神不知鬼不觉的在另一个节点上启动了,这给用户使用带来诸多不便,YARN需要提供一个ApplicationMaster或Nimbus位置获取服务,客户端直接通过该服务获取Nimbus位置即可。社区目前正在推荐一个基于Zookeeper的方案,你可以使用最新开源项目Weave完成该功能。
  • NodeManager本身无法支持动态升级,这意味着,如果NodeManager升级,则它上面运行的服务将全部被杀死,这将给运行在YARN上的服务带来诸多不稳定因素。如果能够将更广泛的服务,比如Web server、Mysql等,运行在YARN上,需要让NodeManager支持动态升级,像YARN的同质项目Mesos那样。

Storm On YARN架构


Storm ApplicationMaster初始化时,将在同一个Container中启动Storm Nimbus和Storm Web UI两个服务,然后根据待启动的Supervisor数目向ResourceManager申请资源,在目前实现中,ApplicationMaster将请求一个节点上所有资源然后启动Supervisor服务,也就是说,当前Supervisor将独占节点而不会与其他服务共享节点资源,这种情况下可避免其他服务对Storm集群的干扰。除了运行Storm Nimbus和Web UI外,Storm ApplicationMaster还会启动一个Thrift Server以处理来自YARN-Storm Client端的各种请求。

Launch Storm Cluster with Hadoop YARN

Storm-YARN asks YARN’s Resource Manager to launch a Storm Application Master. The Application Master then launches a Storm nimbus server and a Storm UI server locally. It also uses YARN to find resources for the supervisors and launch them.

这里写图片描述

Submit and Execute Storm Topologies

each Storm supervisor will launch worker processes within its container. These Storm worker processes are enabled to access Hadoop datasets stored in HDFS and HBase etc..

这里写图片描述

参考链接:http://dongxicheng.org/mapreduce-nextgen/storm-on-yarn/
参考链接:https://developer.yahoo.com/blogs/ydn/storm-yarn-released-open-source-143745133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值