hadoop - NiFi 从 hadoop 到 kafak,只保证一次
问题描述
NiFi是否有可能从hdfs(或hive)读取数据并将数据行发布到kafka,并保证一次交付?
解决方案
从 NiFi 发布到 Kafka 是至少一次保证,因为在 Kafka 已经收到消息之后但在 NiFi 收到响应之前可能会发生故障,这可能是由于网络问题,或者可能是 nifi 崩溃并在那个确切位置重新启动片刻。
在任何这些情况下,流文件将在发布 kafka 处理器之前放回原始队列中(即会话从未提交),因此将再次尝试。
由于不同线程可能执行处理器的线程模型,不能保证最初进行发布的同一线程将是进行重试的同一线程,因此无法使用“幂等生产者” “ 概念。
推荐阅读
- python - 计算做出正确预测的时间有多早
- angular - Angular 6:获取对在 ng-container 标记内使用 *ngFor 创建的组件的引用
- c - 如何有效地从字符列表中提取固定长度的字符串排列?
- c# - 使用 ConfuserEx 时 Newtonsoft JSON 反序列化不起作用
- python - 如何在创建散点图矩阵时更改seaborn中的颜色优先级
- python-3.x - 图片从 url 到 PDF
- postgresql - 高postgresql负载CPU到docker
- python - Python:根据模式创建多个新列
- android - 更新assetlinks.json以处理动态链接而不提示在android中使用浏览器
- c# - Unity Firebase 实时数据库内部异常