应用场景
首先一个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
./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