转载

kafka集群配置总结

虽然很简单,但会遇到很多奇怪的坑,而且网上解决方法搜不到。

首先下载kafka包,解压缩后,修改 conf/server.properties 文件,基本配置项如下(省略了部分默认配置项 :

broker.id=0 advertised.host.name=master zookeeper.connect=master:2181,node1:2181,node2:2181

以上需要注意的是 advertised.host.name 必须修改为主机名,否则会导致很多问题。

每个主机的 broker.id 必须不一样。 zookeeper.connect 需要填写所有的zookeeper服务器地址端口,并且以上的主机名对应的node1,node2,...必须和 /etc/hosts 一致,并且集群外可以ping通(集群内可以使用内部ip,集群外使用外部ip,但主机名对应的机器必须一一对应,否则会出现 Leader not local for partition 错误,这是其中一个坑,搞了很久没有搞清楚.

配置修改后,创建一个topic(topic一旦创建不能删除?只能标记为已删除?):

bin/kafka-topics.sh --create --partitions 5 --replication-factor 3 --topic test3 --zookeeper master,node1,node2

获取主题信息

bin/kafka/bin$ ./kafka-topics.sh --describe --topic test3 --zookeeper master,node1

输出:

Topic:test3     PartitionCount:5        ReplicationFactor:3     Configs:         Topic: test3    Partition: 0    Leader: 4       Replicas: 4,2,3 Isr: 4,2,3         Topic: test3    Partition: 1    Leader: 5       Replicas: 5,3,4 Isr: 5,3,4         Topic: test3    Partition: 2    Leader: 6       Replicas: 6,4,5 Isr: 6,4,5         Topic: test3    Partition: 3    Leader: 7       Replicas: 7,5,6 Isr: 7,5,6         Topic: test3    Partition: 4    Leader: 0       Replicas: 0,6,7 Isr: 0,6,7

以上的Replicas和lsr必须一样,否则说明对应的broker down掉了。

原文  http://www.cnblogs.com/krystism/p/5310406.html
正文到此结束
Loading...