【nifi数据采集】nifi给kafka打数据遇到的坑 - kafka2.1 的listeners配置

Nifi与Kafka数据传输故障排查

如下图,在测试使用nifi往kafka打数据的时候,发现通过ambari安装的kafka收不到数据,而通过docker安装的kafka则可以收到数据。
模拟公司场景,消费海外的kafka,往国内kafka打数据
模拟公司场景,消费海外的kafka,往国内kafka打数据

nifi后台log日志报错信息

2020-04-19 11:09:02,916 INFO [Timer-Driven Process Thread-10] o.a.kafka.common.utils.AppInfoParser Kafka version : 0.9.0.1
2020-04-19 11:09:02,916 INFO [Timer-Driven Process Thread-10] o.a.kafka.common.utils.AppInfoParser Kafka commitId : 23c69d62a0cabf06
2020-04-19 11:09:33,124 ERROR [Timer-Driven Process Thread-10] o.a.n.p.kafka.
为了使用 Apache NiFiKafka 接口采集数据,可以通过 NiFi 提供的处理器与 Kafka 进行集成。以下是详细的实现步骤: 1. **配置 Kafka 消费者处理器** NiFi 提供了 `ConsumeKafka_2_6` 处理器(或其他版本的 Kafka 消费者处理器),用于从 Kafka 主题中读取数据。需要在处理器的配置中设置 Kafka 集群的地址(`bootstrap.servers`)、目标主题(`topic`)以及消费者组 ID(`group.id`)等参数。这些设置确保 NiFi 能够正确连接到 Kafka 并开始消费数据 [^1]。 2. **数据流设计** 在 NiFi 的用户界面中,可以通过拖拽处理器并连接它们来设计数据流。通常,`ConsumeKafka_2_6` 作为数据源,将从 Kafka 读取到的数据流传递给后续的处理器,例如 `ConvertRecord` 或 `TransformJson` 等,以对数据进行转换或处理 [^2]。 3. **优化数据采集过程** 如果需要将数据持久化到存储系统或转发到其他服务,可以使用 `PutHDFS`、`PutS3` 或 `InvokeHTTP` 等处理器,将数据写入目标系统。此外,可以使用 `RouteOnAttribute` 或 `FilterJson` 等处理器对数据进行过滤和路由,确保只有符合特定条件的数据才会被进一步处理 [^2]。 4. **测试与调试** 可以通过 `LogAttribute` 或 `LogMessage` 处理器查看数据流中的内容,以验证 Kafka 数据是否正确被消费和处理。如果需要进一步验证数据采集的准确性,可以结合测试数据源(例如 `GenerateFlowFile`)进行调试 [^3]。 5. **部署与监控** 完成数据流设计后,启动处理器并监控数据流的状态。NiFi 提供了实时的监控功能,可以查看数据流的吞吐量、错误日志以及处理器的状态。如果发现性能瓶颈,可以通过调整 Kafka 消费者的线程数或优化数据处理逻辑来提升性能 [^1]。 以下是一个简单的示例数据配置代码片段,展示如何通过 `ConsumeKafka_2_6` 从 Kafka 获取数据并将其记录到日志中: ```xml <flow> <processor name="ConsumeKafka_2_6" class="org.apache.nifi.processors.kafka.ConsumeKafka_2_6"> <property name="bootstrap.servers">kafka-broker1:9092</property> <property name="topic">input-topic</property> <property name="group.id">nifi-consumer-group</property> </processor> <processor name="LogAttribute" class="org.apache.nifi.processors.standard.LogAttribute"> <property name="log-level">INFO</property> </processor> <connection> <source>ConsumeKafka_2_6</source> <destination>LogAttribute</destination> </connection> </flow> ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值