导语:Apache InLong 增加了通过 Apache Pulsar 接入数据的能力,充分利用了 Pulsar 不同于其它 MQ 的技术优势,为金融、计费等数据质量要求更高的数据接入场景,提供完整的解决方案。
在下面的内容中,我们将通过一个完整的示例介绍如何通过 Apache InLong 使用 Apache Pulsar 接入数据。
Apache InLong(incubating) 简介
Apache InLong(应龙 https://inlong.apache.org)是腾讯捐献给 Apache 社区的一站式数据流接入服务平台,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。InLong 项目原名 TubeMQ ,专注于高性能、低成本的消息队列服务。为了进一步释放 TubeMQ 周边的生态能力,我们将项目升级为 InLong,专注打造一站式数据流接入服务平台。
Apache InLong 以腾讯内部使用的 TDBank 为原型,依托万亿级别的数据接入和处理能力,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。
Apache InLong 服务于数据采集到落地的整个生命周期,按数据的不同阶段提供不同的处理模块,主要包括:
Apache Pulsar 简介
Apache Pulsar 是 Pub/Sub 模型的消息系统,并且从设计上做了存储和计算的分离。Apache Pulsar 计算与存储分离的架构,以及分片存储的设计为 Apache Pulsar 带来了相比于传统基于分区存储 MQ 的一些优势:
准备条件
安装 InLong
部署 InLong ,可以使用 Docker Compose 实现一键部署,也可以通过二进制文件在普通机器上部署。
区别于 InLong TubeMQ,如果使用 Apache Pulsar,需要在 Manager 组件安装中配置 Pulsar 集群信息,格式如下:
# Pulsar admin URLpulsar.adminUrl=http://127.0.0.1:8080,127.0.0.2:8080,127.0.0.3:8080# Pulsar broker addresspulsar.serviceUrl=pulsar://127.0.0.1:6650,127.0.0.1:6650,127.0.0.1:6650# Default tenant of Pulsarpulsar.defaultTenant=public
创建数据接入
配置数据流 Group 信息
在创建数据接入时,数据流 Group 可选用的消息中间件选择 Pulsar,其它跟 Pulsar 相关的配置项还包括:
配置数据流
配置消息来源时,文件数据源中的文件路径,可参照 inlong-agent 中File Agent的详细指引。
请复制以下地址到浏览器查看:
https://inlong.apache.org/docs/next/modules/agent/file/#file-agent-configuration
配置数据格式
配置 Hive 集群
保存 Hive 流向,点击“提交审批”。
数据接入审批
进入审批管理页面,点击我的审批,审批上面提交的接入申请,审批结束后会在 Pulsar 集群同步创建数据流需要的 Topic 和订阅。
我们可以在 Pulsar 集群使用命令行工具检查 Topic 是否创建成功:
配置文件 Agent
在配置文件 Agent 时,需要根据数据接入创建时指定的目录下创建文件:
touch /data/test_file.txt;
按照创建数据流时的数据源格式,向文件中写入数据(可以按格式写入更多数据):
echo -e "1|test\n2|test\n" >> /data/test_file.txt
数据落地检查
最后,我们登录 Hive 集群,通过 Hive 的 SQL 命令查看 test_stream 表中是否成功插入了数据。
问题排查
如果出现数据未正确写入 Hive 集群,可以检查 Dataproxy 和 Sort 相关信息是否同步:
b_test_group/test_stream=persistent://public/b_test_group/test_stream
get /inlong_hive/dataflows/{{sink_id}}
Apache InLong(incubating) 贡献者招募
Apache InLong(incubating) 当前共有 68 名 contributor,仍处在项目孵化的初期,还有很多待办事项,包括:Feature 开发、社区运营,文档翻译等,期待更多开源爱好者加入 InLong,一起将 InLong 打造成 Apache 顶级项目。
以下为 InLong 项目的时间线:
Apache InLong 项目官方网站:
https://inlong.apache.org
Apache InLong GitHub 地址:
https://github.com/apache/incubator-inlong
加入 Apache InLong 微信交流群,请扫描下方二维码,添加“星火计划活动助手”好友,并备注“应龙”,小助手会拉你进群。