首页 > 编程知识 正文

kafka数据堆积怎么看(kafka批量消费数据)

时间:2023-05-04 09:04:56 阅读:91255 作者:233

来源:大数据云技术

构建大数据管道时,需要考虑要处理的数据的数量、种类和速度。 这些数据通常出现在Hadoop生态系统的入口。 在决定采用哪种工具时,要考虑可扩展性、可靠性、适应性、开发时间成本等初步因素。 本文简要介绍了三种Apache处理工具: Flume、Kafka和NiFi。 这三种产品都具有优异的性能、可横向扩展的插件机制,并且可以通过定制组件扩展功能。

附件框架

Flume部署由一个或多个使用拓扑配置的代理组成。 Flume代理是托管Flume拓扑结构的基本构造块(源、通道和接收器)的JVM流程。 Flume客户端将事件发送到源。 源将这些事件一起放置在名为channel的临时缓冲区中,并将数据流从缓冲区发送到连接到数据最终目的地的接收器。 接收器也是其他Flume代理的后续数据源。 代理可以链接,并且每个代理都有多个源、通道和接收器。

Flume是一个分布式系统,可以用于收集、聚合流事件和将流事件传输到Hadoop。 有许多内置源、频道和接收器,包括Kafka频道和Avro接收器。 Flume基于配置,并且有一个可以轻松转换通道中数据的中心。

如果不小心,使用Flume会容易丢失数据。 例如,要选择高吞吐量的内存通道,存在代理节点关闭时会丢失数据的缺点。 文件通道以增加延迟为代价提供持久性。 尽管如此,文件通道仍具有与基础磁盘相同的可靠性,因为数据不会复制到其他节点。 Flume通过多跳/粉丝流失流提供可扩展性。 在高可用性(HA )的情况下,代理可以水平扩展。

阿帕卡夫KA

Kafka是一种分散的高通量消息总线,将数据生产者和消费者分离。 消息被组织到主题中,主题被划分为几个部分,分区在群集中被称为代理的节点之间复制。 Kafka在可扩展性和消息持久性方面优于Flume。 Kafka现在有两种风格。 一个是“经典”生产者/消费者模型,另一个是新的Kafka-Connect,为外部数据存储提供可配置的连接器(源/接收器)。

Kafka可以用于大型软件系统组件之间的事件处理和集成。 此外,Kafka附带Kafka流,不需要Apache Spark或Apache Flink等单独的集群,可以用于简单的流处理。

由于消息在磁盘上是永久的,并在群集中复制,所以数据丢失不像Flume那样常见。 也就是说,无论是使用Kafka客户端还是使用Connect API,生产者/源和消费者/接收器通常都需要自定义代码。 和Flume一样,消息大小也有限制。 最后,为了实现通信,Kafka的生产者和消费者必须就协议、格式、体系结构达成一致,有时可能会有问题。

阿帕卡尼夫I

与Flume和Kafka不同,NiFi可以处理任意大小的消息。 基于Web的拖放用户界面背后的NiFi在集群中运行,提供实时控制。 这样可以轻松管理任意源和任意目标之间的数据移动。 支持不同格式、模式、协议、速度和大小的分布式源和分布式源。

c">

NiFi可以用于具有严格安全性和合规性要求的关键任务数据流中,在那里我们可以可视化整个过程并实时进行更改。在撰写本文时,它有近200个随时可用的处理器(包括Flume和Kafka处理器),可以进行拖放、配置和立即投入使用。NiFi的一些关键特性是优先级排队、数据跟踪和每个连接的背压阈值配置。

尽管NiFi用于创建容错生产管道,但它还没有像Kafka那样复制数据。如果一个节点发生故障,那么可以将流定向到另一个节点,但是排队等待故障节点的数据必须等待该节点恢复。NiFi不是一个成熟的ETL工具,也不是复杂计算和事件处理(CEP)的理想选择。为此,它应该连接到Apache Flink,Spark Streaming或Storm等流式传输框架。

组合

没有哪个工具 满足您的所有要求。组合以更好方式执行不同操作的工具可以实现功能的增强,并提高处理更多场景的灵活性。根据您的需求,NiFi和Flume都可以充当Kafka生产者或消费者。

Flume-Kafka集成非常受欢迎,它有自己的名字:Flafka(我不是这样做的)。Flafka包括Kafka源,Kafka通道和Kafka池。结合Flume和Kafka,Kafka可以避免自定义编码并利用Flume经过实战考验的资源和接收器,通过Kafka通道的Flume事件将在Kafka代理中进行存储和复制,以实现弹性。

组合工具可能看起来很浪费,因为它似乎在功能比较重叠。例如,NiFi和Kafka都提供了代理来连接生产者和消费者。但是,它们的做法不同:在NiFi中,大部分数据流逻辑不在生产者/消费者内部,而是在代理中,允许集中控制。NiFi的构建是为了做一件重要的事情:数据流管理。通过两种工具的结合,NiFi可以充分利用Kafka可靠的流数据存储,同时解决Kafka无法解决的数据流挑战。

END

总结:

需要的Java架构师方面的资料可以关注之后私信哈,回复“资料”领取免费架构视频资料,记得要点赞转发噢!!!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。