我很困惑使用文件通道时Flume数据是可恢复的,而内存通道则不然。
我尝试了一个Kafka接收器,当我在读取时将Flume放下时,Kafka正确地读取了通道中的数据(文件)。当Flume重新启动时,管道继续以可靠的方式提供数据。那么内存通道如何无法恢复?在这种情况下,我需要恢复通道?中的数据,特别是如果Flume开始从保存的偏移量中读取文件。
答案 0 :(得分:0)
您可以重新启动Kafka以检查邮件是否丢失。
抵消概念: 这取决于水槽交易处理。在水槽重启过程中,某些事务可能会被提交,但由于连接丢失,处理可能会失败。 例如:您有一个需要进行某些处理的事务,然后将其存储在db中。即使当水槽接收器抛出任何异常时,您也有transaction.commit()。因此,当您的处理逻辑抛出异常时,您将在重启过程中丢失数据。提交事务并增加偏移量。
因此在重启过程之前获取偏移更安全。你应该按照