我在这个链接中执行了第7步(使用kafka connect导入/导出数据):
http://kafka.apache.org/documentation.html#quickstart
在我删除“test.txt”文件之前,它一直运行良好。主要是因为log4j文件就是这样工作的。经过一定的时间,文件将被旋转-我的意思是-它将被重命名&一个同名的新文件将开始被写入。
但是在我删除了test.txt之后,连接器就停止了工作。我重新启动了connector、broker、zookeeper等,但是'test.txt'中的新行不会进入'connect test'主题,因此不会进入'test.sink.txt'文件。
我怎样才能解决这个问题?
1条答案
按热度按时间5lhxktic1#
连接器保留“从文件中读取的最后一个位置”的标签,以便在读取文件时万一崩溃,它可以继续它停止的位置。
问题是您删除了文件而没有将偏移量重置为0,因此它基本上看不到任何新数据,因为它等待新数据从一开始就以特定的字符计数开始显示。。。
解决方法是重置偏移。如果在独立模式下使用connect,则偏移量存储在/tmp/connect.offsets中。默认情况下,只需从其中删除它们。
从长远来看,我们需要一个更好的文件连接器:)