在 Cloudera Data Platform CDP 公共云中使用 Nifi 读取/写入 Kafka
Posted
技术标签:
【中文标题】在 Cloudera Data Platform CDP 公共云中使用 Nifi 读取/写入 Kafka【英文标题】:Read/Write with Nifi to Kafka in Cloudera Data Platform CDP public cloud 【发布时间】:2020-07-17 14:57:46 【问题描述】:Nifi 和 Kafka 现在都可以在 Cloudera 数据平台、CDP 公共云中使用。 Nifi 擅长与一切对话,而 Kafka 是主流的消息总线,我只是想知道:
在 CDP 公共云中从 Apache Nifi 向 Kafka 生产/消费数据所需的最少步骤是什么
理想情况下,我会寻找适用于任何云的步骤,例如 Amazon AWS 和 Microsoft Azure。
我对遵循最佳实践并使用平台默认配置的答案感到满意,但如果有常见的替代方案,也欢迎使用。
【问题讨论】:
【参考方案1】:未来将有多种外形尺寸可用,现在我假设您的环境包含 1 个带有 NiFi 的数据中心和 1 个带有 Kafka 的数据中心。 (如果两者都在同一个数据中心,答案仍然有效)。
先决条件
带有 NiFi 和 Kafka 的数据中心 访问这些的权限(例如添加处理器、创建 Kafka 主题) 了解您的工作负载用户名(Cdp 管理控制台>单击您的姓名(左下角)> 单击配置文件) 您应该在同一位置设置工作负载密码这些步骤允许您在 CDP 公共云中将数据从 NiFi 生成到 Kafka
除非另有说明,否则我将所有内容都保留为默认设置。
在 Kafka 数据中心集群中:
-
收集代理的 FQDN 链接和使用的端口。
-
以这种格式将链接组合在一起:FQDN:port,FQDN:port,FQDN:port 现在应该如下所示:
broker1.abc:9093,broker2.abc:9093,broker3.abc:9093
在 NiFi GUI 中:
-
确保您在 NiFi 中有一些数据要生成,例如使用
GenerateFlowFile
处理器
选择写入kafka的相关处理器,例如PublishKafka_2_0
,配置如下:
-
将您的
GenerateFlowFile
处理器连接到您的 PublishKafka_2_0
处理器并启动流程
这些是最少的步骤,更详细的解释可以在Cloudera Documentation 中找到。请注意,最佳实践是显式创建主题(此示例利用 Kafka 的特性,即在生成主题时自动创建主题)。
这些步骤允许您使用 NiFi 从 CDP 公共云中的 Kafka 消费数据
很好地检查数据是否已写入 Kafka,正在再次使用它。
在 NiFi GUI 中:
-
创建一个Kafka消费处理器,例如
ConsumeKafka_2_0
,配置其Properties如下:
-
创建另一个处理器或将消息发送到的漏斗,并启动消费处理器。
就是这样,在 30 秒内,您应该会看到您发布到 Kafka 的数据现在再次流入 NiFi。
全面披露:我是 Cloudera 的员工,是 Nifi 背后的驱动力。
【讨论】:
以上是关于在 Cloudera Data Platform CDP 公共云中使用 Nifi 读取/写入 Kafka的主要内容,如果未能解决你的问题,请参考以下文章
Hortonworks Data Platform (Hadoop) 在 Ubuntu 12.04 64bit 上安装单节点集群
DMP 数据管理平台极简教程 ( Data Management Platform )
Azure Data Platform使用Azure Blob Storage Lifecycle Management归档数据
Azure Data Platform使用Azure Blob Storage Lifecycle Management归档数据