将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析

17,649次阅读
没有评论

共计 2663 个字符,预计需要花费 7 分钟才能阅读完成。

本文介绍了如何将 Apache Druid 与 Apache Kafka 结合,实现实时流分析的解决方案。Apache Druid 是一个面向事件的实时分析数据库,适用于分析应用程序和高并发 API 的数据库后端,而 Apache Kafka 作为分布式事件流平台,具备卓越的性能和高吞吐量。通过将两者结合,可以实现实时数据摄取和快速查询,无需依赖第三方系统或应用程序。同时,本文介绍了如何安装 Apache Druid 和配置单节点 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 集群)

安装 -> 配置 -> 启动:-

  1. 最新版本的 Apache Druid 可以从 https://www.apache.org/dyn/closer.cgi?path=/druid/26.0.0/apache-druid-26.0.0-bin.tar.gz 下载

  2. 打开终端并解压下载的 tarball。将目录更改为分发目录。

  3. 如果 Kafka 代理和 Zookeeper 已经在运行,请停止它。

  4. Apache Druid 过于依赖 Zookeeper,因此我们可以利用已与 Druid 捆绑并配置的相同 Zookeeper 实例来运行 Kafka 代理。我们可以放弃之前与 Kafka Broker 一起运行的 Zookeeper 实例。当我们不运行 Druid 实例时,我们可以再次切换到这个 zookeeper 实例。

  5. 导航到 /apache-druid-26.0.0/conf/zk 下的 Zoo.cfg 文件并添加以下
    Server.1=127.0.0.1:2888:3888

R-C.jpg

6. 打开终端并导航到 /apache-druid-26.0.0/bin 并执行 ./start-druid
终端上应显示以下内容

springconfigdocs-first-generation-adoc.png

7. 打开浏览器(可能是 Firefox 的更新版本,默认情况下适用于 Ubuntu 22.04)并输入 URL:http://localhost:8888。浏览器上应显示关注页面

将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析
8. 启动 Kafka 代理并使用终端中的 kafka-topic.sh 创建一个新主题作为 FirstTopic。(您可以在此处阅读如何使用内置脚本创建主题)

9. 浏览浏览器上的“加载数据”菜单,单击“流媒体”。随后启动“开始新的流媒体规范”

springconfigdocs-first-generation-adoc.pngstreaming-spec-min-300x149.png

10. 单击 Apache Kafka

springconfigdocs-first-generation-adoc.png

11. 将 Bootstrap 服务器更新为“localhost:9092”,将主题更新为“FirstTopic”。一旦数据 / 消息发布到 Kafka 的主题“FirstTopic”,Druid 就会从该主题获取实时数据。单击“开始流”单选按钮,最后单击“开始”按钮。

1.png

12. 执行 Kafka bin 目录中可用的内置控制台生产者脚本,并开始将一些消息 / 数据发布到“FirstTopic”中。

2.png

13. 单击“下一步解析数据”并进入浏览器上的“解析数据”选项卡,消息 / 数据将立即显示并带有时间戳。

3.png

还有许多其他选项可用于设置输入格式、模式等。将在即将发布的与 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

到此这篇关于将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/share/415.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计2663字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)