应用场景

首先一个zookeeper集群,kafka集群中机器之间的通信是通过zk来实现。

示例

cd /usr/local/sbin/

下载kafka

wget http://apache.fayea.com/kafka/0.8.2.1/kafka_2.10-0.8.2.1.tgz

解压

tar -zxf kafka_2.10-0.8.2.1.tgz

修改配置文件/billing/tools/kafka-2.10-0.10.2.0/config/server.properties

broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/billing/tools/kafka-2.10-0.10.2.0/logs
zookeeper.connect=host-103:2181,host-104:2181,host-105:2181

说明集群中BROKER.ID的值不能相同

启动kafka

./bin/kafka-server-start.sh config/server.properties &

创建topic(名为:mytopic,1个备份,4个分区)

./bin/kafka-topics.sh --create --zookeeper host1:2181 --replication-factor 1 --partitions 4 --topic mytopic

查看结果

./bin/kafka-topics.sh --list --zookeeper host1:2181

1

./bin/kafka-topics.sh --describe --zookeeper host1:2181

删除

./bin/kafka-topics.sh --delete --zookeeper host1:2181 --topic mytopic

Zookeeper操作:

cd /usr/local/sbin/zookeeper-3.4.6/bin
./zkCli.sh -server  192.168. 137.131:2181
ls /brokers/topics
rmr /brokers/topics/mytopic

启动生产者和消费者,在生产者控制台输入内容,在消费者控制台可显示,验证kafka集群搭建是否正确

./bin/kafka-console-producer.sh --broker-list 192.168.194.131:9091,192.168.194.131:9092 --topic mytopic
./bin/kafka-console-consumer.sh --zookeeper 192.168.194.131:2181 --topic mytopic --from-beginning