Apache nifi 如果nifi无法写入数据怎么办?

Apache nifi 如果nifi无法写入数据怎么办?,apache-nifi,Apache Nifi,如果nifi正在使用PutHDFS或PutFile向磁盘写入数据,并且在10个数据块中写入4个数据块后,该数据块被终止或进程停止。恢复后,nifi会从第5块开始写入还是再次重写整个文件以创建副本?nifi通过拍摄快照,在各自的FlowFile Repo中记录每个节点当时发生的情况,从而防止硬件和系统故障 如果节点在写入内容时处于中间状态,则没有任何损坏,因为FlowFile Repo是NIFI的预先写入日志。当节点返回在线时,它首先通过检查“快照”和“部分”文件来恢复其状态。节点要么接受“快照”

如果nifi正在使用PutHDFS或PutFile向磁盘写入数据,并且在10个数据块中写入4个数据块后,该数据块被终止或进程停止。恢复后,nifi会从第5块开始写入还是再次重写整个文件以创建副本?

nifi通过拍摄快照,在各自的FlowFile Repo中记录每个节点当时发生的情况,从而防止硬件和系统故障

如果节点在写入内容时处于中间状态,则没有任何损坏,因为FlowFile Repo是NIFI的预先写入日志。当节点返回在线时,它首先通过检查“快照”和“部分”文件来恢复其状态。节点要么接受“快照”,然后删除“.PoT”(如果存在),或者,如果“快照”文件不存在,则将“.partial”文件重命名为“快照”。 “nifi.properties”文件中可配置系统检查点之间的时间间隔默认为2分钟

因此,它将从第5街区开始恢复


谢谢。

当处理器执行时,NiFi中正在执行一个事务

  • 会话已启动
  • 获得了流文件
  • 进行的手术
  • 传输或删除流文件
  • 会话已提交
在您的PutHDFS或PutFile示例中,对HDFS或本地文件系统的写入操作将是上面的“执行的操作”部分

如果NiFi在提交会话之前的这一点上崩溃,那么当NiFi重新启动时,流文件仍将在同一队列中,处理器将再次尝试处理它

外部系统(即本例中的HDFS或本地文件系统)的状态取决于该外部系统如何处理写入数据。如果外部系统具有某种事务机制,则如果崩溃发生在外部系统中提交事务之前,则所有数据都不可见,但在文件系统的情况下,可能存在部分写入的文件

在HDFS处理器中,它写入一个名称以“.”开头的临时文件,因此该文件很可能仍保留在HDFS中,这取决于处理器如何处理同名的现有文件。处理器中通常有一个strategy属性,您可以在其中对现有文件选择“覆盖”或“失败”等选项