本文介绍部署集群版本,由于kafka以来zookeeper,zookeeper的部署请参考我的zookeeper相关文章,这里不做介绍
http://blog.youkuaiyun.com/sheismylife/article/category/2905709
我要搭建的kafka集群由多个broker服务程序组成,每台服务器上部署一个broker。
首先下载最新版本的程序到CentOS服务器上,这里准备了5台CentOS服务器。注意需要先安装scala 2.11版本。每台服务器上都要安装java和scala。
ln -s /data/slot0/jdk1.8.0_45/bin/java /usr/bin/java
ln -s /data/slot0/scala-2.11.7/bin/scala /usr/bin/scala
下载并解压:
wget http://mirror.metrocast.net/apache//kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz
进入conf目录,复制配置文件server.properties为my-server.properties,修改如下:
broker.id=147
broker.id每个都不同,可以取IP地址最后一个字段
下面的每台server都一样
log.dirs=/data/slot0/kafka-logs
zookeeper.connect=10.149.11.146:2181/vehicle_kafka
现在使用下面的命令在5台服务器上逐一启动kafka server。
nohup ./bin/kafka-server-start.sh ./config/my-server.properties &
# bin/kafka-topics.sh --create --zookeeper 10.149.11.146:2181/vehicle_kafka --replication-factor 3 --partitions 5 --topic vehicle_test
Created topic "vehicle_test".
现在可以查看一下这个topic
[root@10-149-11-147 kafka_2.11-0.8.2.1]# bin/kafka-topics.sh --describe --zookeeper 10.149.11.146:2181/vehicle_kafka --topic vehicle_testTopic:vehicle_test PartitionCount:5 ReplicationFactor:3 Configs:
Topic: vehicle_test Partition: 0 Leader: 151 Replicas: 151,148,149 Isr: 151
Topic: vehicle_test Partition: 1 Leader: 147 Replicas: 147,149,150 Isr: 147,149,150
Topic: vehicle_test Partition: 2 Leader: 148 Replicas: 148,150,151 Isr: 148,150,151
Topic: vehicle_test Partition: 3 Leader: 149 Replicas: 149,151,147 Isr: 149,151,147
Topic: vehicle_test Partition: 4 Leader: 150 Replicas: 150,147,148 Isr: 150,147,148
Isr解释一下,就是Replicas中活着的节点,或者和Replicas相等,或者是其子集。