[HDFS连接器+ Kafka]如何在独立模式下编写多个主题?

时间:2016-10-26 13:36:48

标签: hadoop apache-kafka hdfs apache-kafka-connect confluent

我正在使用Confluent的{​​{1}}将流式数据写入HDFS Connector。我按照用户手册和quick start设置了我的连接器。 当我只使用一个主题时,它可以正常工作。 我的属性文件看起来像这样

HDFS

当我添加多个主题时,我看到它不断提交偏移量,我不会看到它写入已提交的消息。

name=hdfs-sink
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
tasks.max=1
topics=test_topic1
hdfs.url=hdfs://localhost:9000
flush.size=30

我尝试使用tasks.max 1和2。 我不断将name=hdfs-sink connector.class=io.confluent.connect.hdfs.HdfsSinkConnector tasks.max=2 topics=test_topic1,test_topic2 hdfs.url=hdfs://localhost:9000 flush.size=30 记录如下

Committing offsets

当我优雅地停止服务(Ctrl + C)时,我看到它删除了[2016-10-26 15:21:30,990] INFO Started recovery for topic partition test_topic1-0 (io.confluent.connect.hdfs.TopicPartitionWriter:193) [2016-10-26 15:21:31,222] INFO Finished recovery for topic partition test_topic1-0 (io.confluent.connect.hdfs.TopicPartitionWriter:208) [2016-10-26 15:21:31,230] INFO Started recovery for topic partition test_topic2-0 (io.confluent.connect.hdfs.TopicPartitionWriter:193) [2016-10-26 15:21:31,236] INFO Finished recovery for topic partition test_topic2-0 (io.confluent.connect.hdfs.TopicPartitionWriter:208) [2016-10-26 15:21:35,155] INFO Reflections took 6962 ms to scan 249 urls, producing 11712 keys and 77746 values (org.reflections.Reflections:229) [2016-10-26 15:22:29,226] INFO WorkerSinkTask{id=hdfs-sink-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSinkTask:261) [2016-10-26 15:23:29,227] INFO WorkerSinkTask{id=hdfs-sink-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSinkTask:261) [2016-10-26 15:24:29,225] INFO WorkerSinkTask{id=hdfs-sink-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSinkTask:261) [2016-10-26 15:25:29,224] INFO WorkerSinkTask{id=hdfs-sink-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSinkTask:261) 文件。 我究竟做错了什么?这样做的正确方法是什么? 感谢对此的任何建议。

1 个答案:

答案 0 :(得分:2)

我一直在为你在过去一个月左右提到的同样的问题磕磕绊绊而且我无法深究它,直到今天我升级到confluent 3.1.1和东西开始按预期工作......

这是我滚动的方式

name=hdfs-sink
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
tasks.max=5
topics=accounts,contacts,users
hdfs.url=hdfs://localhost:9000
flush.size=1
hive.metastore.uris=thrift://localhost:9083
hive.integration=true
schema.compatibility=BACKWARD
format.class=io.confluent.connect.hdfs.parquet.ParquetFormat
partitioner.class=io.confluent.connect.hdfs.partitioner.HourlyPartitioner
locale=en-us
timezone=UTC