可以登录wordpress的浏览器,优化关键词排名软件,湖州企业做网站,网络营销服务的内容kafka数据到flume初赛 在构建大数据管道时#xff0c;我们需要考虑如何吸收出现在通常是Hadoop生态系统大门口的数据量#xff0c;多样性和速度。 在决定采用哪种工具来满足我们的要求时#xff0c;诸如可伸缩性#xff0c;可靠性#xff0c;适应性#xff0c;开发时间成… kafka数据到flume 初赛 在构建大数据管道时我们需要考虑如何吸收出现在通常是Hadoop生态系统大门口的数据量多样性和速度。 在决定采用哪种工具来满足我们的要求时诸如可伸缩性可靠性适应性开发时间成本等方面的初步考虑都将发挥作用。 在这篇文章中。 我们将简要介绍三个Apache提取工具 Flume Kafka和NiFi 。 所有这三种产品均具有出色的性能可以水平缩放并提供一种插件架构可以通过自定义组件扩展功能。 阿帕奇水槽 Flume部署由一个或多个配置了拓扑的代理组成。 Flume Agent是一个JVM进程它承载Flume拓扑的基本构建块即源通道和接收器。 Flume客户端将事件发送到源源将这些事件成批放置到称为通道的临时缓冲区中然后数据从那里流到连接到数据最终目标的接收器。 接收器也可以是其他Flume代理的后续数据源。 代理可以链接起来并且每个都有多个源通道和接收器。 Flume是一个分布式系统可用于收集聚合流事件并将其传输到Hadoop中。 它带有许多内置源通道和接收器例如Kafka Channel和Avro接收器。 Flume基于配置并具有拦截器 可以对运行中的数据执行简单的转换。 如果不小心很容易使用Flume丢失数据。 例如选择内存通道以实现高吞吐量具有不利的一面即当代理程序节点发生故障时数据将丢失。 文件通道将以增加延迟为代价提供持久性。 即使这样由于数据不会复制到其他节点因此File通道仅与基础磁盘一样可靠。 Flume确实通过多跳/扇入扇出流提供了可伸缩性。 对于高可用性HA可以水平缩放代理。 阿帕奇·卡夫卡 Kafka是一种分布式的高吞吐量消息总线可将数据生产者与消费者分离 。 消息按主题进行组织主题被划分为多个分区并且跨集群中的节点称为代理复制分区。 与Flume相比Kafka具有更好的可伸缩性和消息持久性。 Kafka现在有两种形式“经典”生产者/消费者模型以及新的Kafka-Connect 它提供了到外部数据存储的可配置连接器源/接收器。 Kafka可用于事件处理以及大型软件系统的组件之间的集成。 开箱即用地处理数据峰值和背压 快速生产缓慢消费。 此外Kafka附带有Kafka Streams 可以将其用于简单的流处理而无需像Apache Spark或Apache Flink那样需要单独的集群。 由于消息在磁盘上持久保存并在群集中复制因此数据丢失的情况比Flume少见。 也就是说使用Kafka客户端或通过Connect API生产者/源和消费者/接收者通常需要自定义编码。 与Flume一样邮件大小也有限制。 最后为了能够进行通信Kafka的生产者和消费者都必须就协议格式和模式达成共识这在某些情况下可能会出现问题。 Apache NiFi NiFl与Flume和Kafka不同。 可以处理任意大小的消息。 NiFi在基于Web的拖放式UI的背后在群集中运行并提供实时控制使您可以轻松管理任何源和任何目标之间的数据移动。 它支持不同格式架构协议速度和大小的不同和分布式源。 NiFi可以用于具有严格安全性和合规性要求的关键任务数据流我们可以在其中可视化整个过程并立即进行实时更改。 在撰写本文时它具有近200个开箱即用的处理器包括Flume和Kafka处理器可以立即拖放配置和投入使用。 NiFi的一些关键功能是优先排序队列数据可追溯性和每个连接的背压阈值配置。 尽管NiFi用来创建容错的生产流水线但它尚未像Kafka一样复制数据。 如果某个节点发生故障则可以将流定向到另一个节点但是排队到故障节点的数据将不得不等待直到该节点恢复正常。 NiFi并不是成熟的ETL工具也不是复杂计算和事件处理 CEP 的理想选择。 为此它应该连接到Apache FlinkSpark 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并非旨在解决的数据流挑战。 结论 总结 还有更多要讨论的内容但这将是书的主题而不是文章。 另外由于此处提到的工具正在Swift发展因此与所有其他有关新兴技术的简短分析一样迟早也必将过时。 翻译自: https://www.javacodegeeks.com/2017/07/big-data-ingestion-flume-kafka-nifi.htmlkafka数据到flume