Kafka集群模式部署

时间:2022-09-03 12:14:40

环境:kafka 0.8.1.1

基本概念

  1. Kafka维护按类区分的消息,称为主题(topic)
  2. 生产者(producer)向kafka的主题发布消息
  3. 消费者(consumer)向主题注册,并且接收发布到这些主题的消息
  4. 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