chenjiaxing
作者chenjiaxing2020-07-27 16:24
系统架构师, 浪潮商用机器有限公司

Jstorm在运营商领域基于K1 POWER Linux服务器的应用

字数 1224阅读 4029评论 0赞 1

项目背景

某省运营商的网管大数据平台,需要实时对移动人员的数据进行分析,比如需要实时分析人员聚集热点,避免再次出现上海外滩踩踏事件;分析某个地方的人流走向,为商户提供精准营销支持等。原先该运营商使用 X86+Jstorm 集群承载该应用。随着业务发展及不断有新的数据源接入,运营商需要增加大量的存储空间和服务器来满足日益增长的数据需求。此时,运营商的机房空间开始成为制约业务发展的瓶颈。因此,机柜资源短缺和业务发展之间的矛盾,是摆在运营商面前需要解决的问题,其解决方法之一,就是在单位机柜内的服务器能提供更大的处理能力。经过严格的功能和性能测试对比,该运营商最终选择了 K1 POWER L+Jstorm 集群的解决方案,通过提升单位机柜内服务器的性能,有效解决了机柜资源短缺和业务发展之间的矛盾。其业务系统的整体逻辑架构图如下图所示:

其中,主要输入数据来源于 Kafka 集群,集群中存储该省所有家宽、 2G 、 3G 、 4G 等相关数据,日装载量超过 700T 。 Jstrom 集群消费来自 Kafka 的数据,处理完加载到 HDFS 集群,供下游应用进行分析处理。

Jstorm简介

JStorm 是一个类似于 Hadoop 的 MapReduce 的计算系统,是阿里巴巴中间件团队用 Java 重新实现的类 Storm ,在网络 IO 、线程模型、资源调度、可用性及稳定性上做了持续改进,可被用于“连续计算”,对数据流做连续处理,在计算时就将结果以流的形式输出给用户。用户只需按照指定的接口实现一个任务,然后将这个任务提交给 JStorm 系统, JStorm 在接受了任务指令 后,会无间断运行任务,一旦出现异常导致某个 Worker 发送故障,调度器立刻会分配一个新的 Worker 去顶替异常的 Worker 。较于 Storm 而言, JStorm 在一个 Nimbus 宕机后,会自动的热切到备份的 Nimbus ,实现了 HA 特性。

从设计层面来说, JStorm 是一个典型的调度系统。在这个系统中,有以下内容:

  • Nimbus 调度器,负责分发代码、任务,监控集群运行状态
  • Supervisor Worker 的代理角色,负责 Kill 掉 Worker 和运行 Worker
  • Worker Task 的容器
  • Task 任务的执行者
  • ZooKeeper 系统的协调者

( Jstorm 架构图)

JStorm 处理数据的方式是基于消息的流水线处理, 结合了大数据处理的高效性与实时性,适合于数据量较大,并且连续性与实时性要求较高的应用场景。

K1 POWER Linux服务器优势

K1 POWER Linux 服务器对比 X86 服务器具有 CPU 缓存大、单核线程多、内存带宽大、处理能力更强的优势 ,能更好的发挥 Jstorm 的并发优势,在同样 2U 的空间下,能提供比 X86 服务器更高的处理性能,因此能有效解决客户的问题。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广