共计 2663 个字符,预计需要花费 7 分钟才能阅读完成。
本文介绍了如何将 Apache Druid 与 Apache Kafka 结合,实现实时流分析的解决方案。Apache Druid 是一个面向事件的实时分析数据库,适用于分析应用程序和高并发 API 的数据库后端,而 Apache Kafka 作为分布式事件流平台,具备卓越的性能和高吞吐量。通过将两者结合,可以实现实时数据摄取和快速查询,无需依赖第三方系统或应用程序。同时,本文介绍了如何安装 Apache Druid 和配置单节点 Apache Kafka 集群的方法。
提示:为了合理优化内容,提升站点价值,请避免使用关键词堆砌和恶劣转载行为,确保内容与站点主题相关,提高页面整洁度,以提供更好的用户浏览体验。
名为 Apache Druid 的实时分析数据库是为了对海量数据进行快速切片分析而开发的。Apache Druid 的最佳数据是面向事件的,经常用作分析应用程序 GUI 和需要快速聚合的高并发 API 的数据库后端。在实时摄取、快速查询性能和高正常运行时间至关重要的情况下,可以非常有效地利用 Druid。
另一方面,Apache Kafka 作为分布式事件流平台正在获得出色的发展势头,具有卓越的性能、低延迟、容错性和高吞吐量,并且能够每秒处理数千条消息。
然而,需要跨越多个步骤来可视化 / 分析,最终通过从各种实时数据源持续摄取到 Kafka 的实时数据流来实现业务目标 / 决策。从鸟瞰图来看,这些步骤可以概括为
通过订阅 Kafka 主题来使用数据,并随后执行各种数据管道以进行转换、验证、清理等,然后转储到永久存储库 / 数据库中进行查询。
通过集成不同类型的 Kafka 连接器(如 JDBC Kafka Sink Connector),可以从 Kafka 的主题中提取数据并将其推送到 RDBMS/ 存储库以进行查询、可视化等。但是使用 JDBC Kafka Sink Connector 时存在架构注册表依赖性。
Confluence REST 代理也可用于直接使用来自 Kafka 主题的消息 / 数据,并通过适配器持久保存到 RDBMS 中。
但使用 Apache Druid,我们可以直接连接 Apache Kafka,从而可以连续摄取实时数据并随后查询以当场做出业务决策,而无需干预任何第三方系统或应用程序。Apache Druid 的另一个优点是我们无需配置或安装任何第三方 UI 应用程序即可查看登陆或发布到 Kafka 主题的数据。
在本文中,我们将了解如何安装 Apache Druid、如何配置单节点 Apache Kafka 集群,以及如何使用 Kafka 的内置控制台生成器流式传输 / 发布一些字符串数据,并最终在 Apache Druid 中可视化。
假设:
该系统至少具有 8 GB RAM 和 250 GB SSD 以及 Ubuntu-22.04.2 amd64 作为操作系统。
OpenJDK 11 是通过 JAVA_HOME 环境变量配置安装的。
系统上可以使用 Python 3 或 Python 2 以及 Perl 5。
单节点 Apache Kafka-2.7.0 集群已与 Apache Zookeeper -3.5.6 一起启动并运行。(请阅读这里如何设置多节点 Kafka 集群)
安装 -> 配置 -> 启动:-
最新版本的 Apache Druid 可以从 https://www.apache.org/dyn/closer.cgi?path=/druid/26.0.0/apache-druid-26.0.0-bin.tar.gz 下载
打开终端并解压下载的 tarball。将目录更改为分发目录。
如果 Kafka 代理和 Zookeeper 已经在运行,请停止它。
Apache Druid 过于依赖 Zookeeper,因此我们可以利用已与 Druid 捆绑并配置的相同 Zookeeper 实例来运行 Kafka 代理。我们可以放弃之前与 Kafka Broker 一起运行的 Zookeeper 实例。当我们不运行 Druid 实例时,我们可以再次切换到这个 zookeeper 实例。
导航到 /apache-druid-26.0.0/conf/zk 下的 Zoo.cfg 文件并添加以下
Server.1=127.0.0.1:2888:3888
6. 打开终端并导航到 /apache-druid-26.0.0/bin 并执行 ./start-druid
终端上应显示以下内容
7. 打开浏览器(可能是 Firefox 的更新版本,默认情况下适用于 Ubuntu 22.04)并输入 URL:http://localhost:8888。浏览器上应显示关注页面
8. 启动 Kafka 代理并使用终端中的 kafka-topic.sh 创建一个新主题作为 FirstTopic。(您可以在此处阅读如何使用内置脚本创建主题)
9. 浏览浏览器上的“加载数据”菜单,单击“流媒体”。随后启动“开始新的流媒体规范”
10. 单击 Apache Kafka
11. 将 Bootstrap 服务器更新为“localhost:9092”,将主题更新为“FirstTopic”。一旦数据 / 消息发布到 Kafka 的主题“FirstTopic”,Druid 就会从该主题获取实时数据。单击“开始流”单选按钮,最后单击“开始”按钮。
12. 执行 Kafka bin 目录中可用的内置控制台生产者脚本,并开始将一些消息 / 数据发布到“FirstTopic”中。
13. 单击“下一步解析数据”并进入浏览器上的“解析数据”选项卡,消息 / 数据将立即显示并带有时间戳。
还有许多其他选项可用于设置输入格式、模式等。将在即将发布的与 Druid 出色功能相关的文章中进行解释。
要了解更多关于 Druid 的信息,您可以访问 https://druid.apache.org
在以下 URL 中,您可以观看执行上述操作时捕获的短视频。
https://vimeo。com/836518053
参考文献:https://druid.apache.org/docs/latest/design/index.html 文章来源:https://www.toymoban.com/diary/share/415.html
文章来源地址 https://www.toymoban.com/diary/share/415.html
到此这篇关于将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!
原文地址:https://www.toymoban.com/diary/share/415.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!