环境:kafka 0.8.1.1
基本概念
- Kafka维护按类区分的消息,称为主题(topic)
- 生产者(producer)向kafka的主题发布消息
- 消费者(consumer)向主题注册,并且接收发布到这些主题的消息
- kafka以一个拥有一台或多台服务器的集群运行着,每一台服务器称为broker
zookeeper配置
修改zk的配置文件conf/zoo.cfg
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
启动zookeeper集群
$ZK_HOME/bin/zkServer.sh start
kafka配置
分别修改kafka集群中每个节点的config/server.properties
,这里做的是最简配置
#不同的节点上broker不同,可以从0开始递增
broker.id=0
#本地ip
host.name=本机ip
#broker端口号(默认为9092)
port=9092
#kafkalog日志位置
log.dirs=/data/kafka-logs
#zookeeper地址(zk监听端口默认为2181)
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
启动broker(每台节点都要执行)
bin/kafka-server-start.sh config/server.properties
测试
#创建topic(3分区,2备份)
bin/kafka-topics.sh --create --zookeeper zk1:2181,zk2:2181,zk3:2181 --replication-factor 2 --partitions 3 --topic test
#查看存在的topic
bin/kafka-topics.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --list
#往topic中写入消息
bin/kafka-console-producer.sh --broker-list zk1:9092,zk2:9092,zk3:9092 --topic test
#查看topic中信息
bin/kafka-console-consumer.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic tesr --from-beginning