Binlog数据输出到kafka时怎么指定partitions、replication-factor

binlog数据输出到kafka时怎么指定partitions、replication-factor参数?

[root@tidb1 kafka_2.11-0.10.2.0]# bin/kafka-topics.sh --describe --zookeeper 192.168.10.201:2181, 192.168.10.202:2181, 192.168.10.203:2181, 192.168.10.204:2181 --topic kafka_obinlog
Topic:kafka_obinlog	PartitionCount:1	ReplicationFactor:1	Configs:
	Topic: kafka_obinlog	Partition: 0	Leader: 2	Replicas: 2	Isr: 2

kafka、zookeeper有四台机器,tidb、pd一台、tikv三台

是由于binlog同步都kafka的数据必须是有序的,topic的partitions是每个partitions有序但partitions之间无序所以不能使用多partitions吗?

TiDB 版本是多少?

同问,单个Partition吞吐量有问题,同表需要有序,但不同表未必需要有序,不能根据schme+table来做partition的key吗?

可以的。kafka 消费 binlog时,Producer会根据这个key和Partition机制来判断应该将这条消息发送到哪个Parition。

怎么设置partition个数?我测试环境是tidb2.1.5的,只有有一个partition

$KAFKA_HOME/config/server.properties 中通过配置项 num.partitions 来指定Partition数量。

好的,谢谢

并没有看到有传递任何Key,还是我没找对地方?

应该是你没找对地方,kafka 配置和原理性文章网上很多,建议学习下。

我找的是Drainer里的Code,不是Kafka的配置,Drainer都没有发送任何Key,Kafka如何会知道要将相同表的数据发送到相同的Partition呢?