Apache Storm 简介

Apache Storm 应用Storm可以用来实现实时ETL流程,从多个数据源抽取数据,进行清洗和转换,然后实时加载到数据仓库或数据库中。主要组建和概念zoo

大家好,如果您还对Apache Storm 简介不太了解,没有关系,今天就由本站为大家分享Apache Storm 简介的知识,包括的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

主要组建和概念

zookeeper:心跳监控worker,supurvisornimbus:调度、分配任务supervisor:下载代码,创建worker和线程worker:工作进程executor:工作线程task:执行的任务拓扑:应用程序

主控节点与工作节点

有两种类型的节点Storm集群:Master节点和Worker节点。

其中,主节点只有一个,但工作节点可以有多个。

Nimbus进程与Supervisor进程

nimbus是整个集群的控制核心,负责拓扑提交、运行状态监控、任务重新分配等。

主节点运行一个名为Nimbus 的守护进程,类似于Hadoop 的JobTracker。

Nimbus 负责在集群中分发代码、向节点分配任务以及监控主机故障。

每个工作节点都运行一个名为Supervisor 的守护进程。 Supervisor 监视其主机上分配的主机的作业,并启动和停止Nimbus 分配的工作进程。

流分组(Stream grouping)

流分组是拓扑定义的一部分,指定应接收哪个流作为每个Bolt 的输入。

流分组定义了流/元组如何在Bolt 的任务之间分布。

Apache Storm 简介

Storm有8种内置的流分组方法:

Shuffle分组:随机分组。这样元组会尽可能随机地分配到Bolt的不同任务中,使得每个任务处理的元组数量基本保持一致,保证集群的负载均衡。字段分组:按字段分组。这样,数据流就按照定义的Field进行分组。例如,如果数据流根据名为“user-id”的字段进行分组,那么包含相同“user-id”的所有元组将被分配给同一个任务,从而保证消息处理的一致性。 Partial Key grouping:部分关键字分组。这种方法与Fields分组非常相似。它根据定义的域对数据流进行分组。不同的是,该方法会考虑下游Bolt数据处理的平衡性。当输入数据源关键词不平衡时,会出现较多的变化。良好的表现。全局分组:全局分组。这样所有的数据流都会被发送到Bolt的同一个任务,即ID最小的任务。无分组:不分组。使用此方法表明您不关心数据流如何分组。目前这种方法的结果完全等同于随机分组,但未来Storm社区可能会考虑使用非分组的方法,让Bolt和它订阅的Spout或Bolt在同一个线程中执行。 Local or shuffle grouping:本地或随机分组。如果目标Bolt 在与源Bolt 的任务相同的工作进程中具有一个或多个任务,则该元组将被随机发送到同一进程中的任务。否则,行为与普通的随机分组一致。

工作进程(Worker)

Worker是Spout/Bolt中运行特定处理逻辑的进程。工作线程是一个进程,包含一个或多个线程。

执行器(Executor)

线程是执行者,一个线程处理一个或多个任务。

任务(Task)

任务就是任务。

拓扑(Topology)

在Storm中,实时应用程序的计算任务被打包并发布为Topology。

在Storm中,拓扑任务一旦提交就永远不会结束,除非任务被主动停止。

计算任务Topology是由不同的Spout和Bolt通过数据流(Stream)连接而成的图。

用户评论

Apache Storm 简介
素衣青丝

Apache Storm确实是一个神奇的技术!它处理实时数据的效率真的令人印象深刻,之前还在用传统方法解决类似问题可是速度慢得要命!这次终于找到了解决办法!

    有8位网友表示赞同!

Apache Storm 简介
七夏i

看了你的文章感觉Apache Storm确实很有潜力,尤其是在数据流处理领域。我想了解更多关于它的应用场景和案例,知道它究竟是怎么在实际项目中发挥作用的。

    有13位网友表示赞同!

Apache Storm 简介
熟悉看不清

我试过用Apache Storm来做一个简单的实时分析项目,但是调试起来头疼!文档似乎不够完善,很多问题还得自己摸索出来。希望社区可以多提供一些教程和示例代码,方便新手学习使用。

    有7位网友表示赞同!

Apache Storm 简介
。婞褔vīp

对于数据工程师来说,掌握 Apache Storm 绝对是必不可少的技能!它可以让我们的工作效率大大提高,能够处理海量数据的实时分析需求。之前一直在用传统的ETL工具,感觉像蜗牛一样慢……

    有16位网友表示赞同!

Apache Storm 简介
晨与橙与城

Apache Storm 确实听起来很强大,但我一直觉得开源项目总会有一些使用上的麻烦。学习曲线也估计会比较陡峭,需要花费相当的时间去理解其架构和工作原理。

    有7位网友表示赞同!

Apache Storm 简介
岁岁年年

文章写的不错,简单明了地介绍了 Apache Storm 的基本概念。之前对该框架还不太了解,现在算是初步掌握了它的用途和优势!

    有9位网友表示赞同!

Apache Storm 简介
何年何念

Apache Storm 和 Spark 在很多方面都有 ओवरラップ。这两个系统都擅长于处理大数据,那他们的区别到底在哪里呢?哪种技术更适合实际应用场景呢?期待看到更多对比分析的文章!

    有12位网友表示赞同!

Apache Storm 简介
愁杀

感觉 Apache Storm 更偏向于实时数据处理的场景,而 Spark 则更适合进行离线数据分析。它们各有优缺点,需要根据具体的业务需求来选择合适的框架。

    有10位网友表示赞同!

Apache Storm 简介
鹿叹

Apache Storm 这几天好像很火啊!Everywhere you turn,有人在议论它。到底是什么原因导致了它的突然爆红呢?我得好好研究一下!

    有7位网友表示赞同!

Apache Storm 简介
盲从于你

对于新手来说,学习 Apache Storm 真是太有难度了!那复杂的DAG图让我头疼不已,不知道该如何设计和实现具体的作业流程…

    有8位网友表示赞同!

Apache Storm 简介
情字何解ヘ

Apache Storm 的性能确实很让人赞赏,能够处理海量数据并实现实时分析。我在做金融风险控制的项目中遇到了大量的数据实时分析的需求,Storm 可以帮助我解决这方面的难题!

    有17位网友表示赞同!

Apache Storm 简介
麝香味

如果要学习 Apache Storm,我建议先从基础概念入手,理解其工作机制和架构设计。然后可以参考一些开源项目示例代码,逐步深入理解它的使用技巧。

    有20位网友表示赞同!

Apache Storm 简介
全网暗恋者

Apache Storm 的核心思想还是基于流式数据的模型,它能够将连续不断的数据实时处理并生成结果。这对于许多需要即时反馈的场景都有着巨大的应用价值!

    有11位网友表示赞同!

Apache Storm 简介
反正是我

Apache Storm 能够高效地处理分布式数据并进行计算,其优化的调度机制和容错能力都是它的亮点。但是同时也需要注意资源管理问题,避免系统不堪重负。

    有6位网友表示赞同!

Apache Storm 简介
冷青裳

我一直在寻找一种技术来实现实时监控系统,Apache Storm 看似是一个不错的选择!它支持来自多种数据源的实时流数据处理,并且能够灵活地配置不同的拓扑结构。让我好好研究一下吧!

    有8位网友表示赞同!

Apache Storm 简介
短发

我对 Apache Storm 的使用场景感兴趣,它究竟在哪些领域得到了应用?有哪些成功案例?期待看到更多实用的内容!

    有12位网友表示赞同!

Apache Storm 简介
万象皆为过客

Apache Storm 确实是一个很强大的框架,但我感觉它还有一些局限性。比如它的数据持久化能力有限,需要与其他系统配合才能实现完整的存储功能。

    有18位网友表示赞同!

Apache Storm 简介
你很爱吃凉皮

总的来说,Apache Storm 是一个非常有潜力的技术框架,它为实时数据处理提供了强大的工具和能力。 随着技术的不断发展,我相信Apache Storm 将会有更广阔的发展空间!

    有19位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/125576.html

(0)
小su的头像小su
上一篇 2024年9月1日
下一篇 2024年9月1日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注