kafka单机部署、集群部署、命令实操

单机部署

安装配置zookeeper

tar zxf zookeeper-3.4.10.tar.gz -C /usr
cp zoo-sample.cfg zoo.cfg
vi zoo.cfg
	dataDir=/root/zkdata
#启动
./bin/zkServer.sh start zoo.cfg
#状态
./bin/zkServer.sh status
#关闭
./bin/zkServer.sh stop

安装配置kafka

tar zxf kafka_2.11-2.2.0.tgz -C /usr
vi config/server.properties
	listeners=PLAINTEXT://node01:9092
	log.dirs=/usr/kafka-logs
	zookeeper.connect=node01:2181

启动

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

关闭

./bin/kafka-server-stop.sh 

创建topic及相应分区和备份因子

./bin/kafka-topics.sh --bootstrap-server node01:9092 --create --topic topic01 --partitions 3 --replication-factor 1

创建消费者(阻塞)

./bin/kafka-console-consumer.sh --bootstrap-server node01:9092 --topic topic01 --group group1

创建生产者-进入交互

./bin/kafka-console-producer.sh --broker-list node01:9092 --topic topic01

启动两个同组消费者,在生产者创建消息,可以发现消息被同组消费者瓜分消费

启动两个不同组消费者,在生产者创建消息,可以发现消息被广播至不同组消费者

集群部署

创建另外两个节点node02,node03

配置启动zookeeper

vi zoo.cfg
	server.1=node01:2888:3888
	server.2=node02:2888:3888
	server.3=node03:2888:3888

配置zkid

#node01
echo 1 > /root/zkdata/myid
#node02
echo 2 > /root/zkdata/myid
#node03
echo 3 > /root/zkdata/myid

启动zk集群

./bin/zkServer.sh start zoo.cfg

配置启动kafka

vi ./config/server.properties
        zookeeper.connect=node01:2181,node02:2181,node03:2181
#start
./bin/kafka-server-start.sh -daemon config/server.properties

创建topic及相应分区和备份因子(使用集群服务,创建备份2)

./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --create --topic topic01 --partitions 3 --replication-factor 2

查看list

./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --list

查看分区互相备份情况

./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --describe --topic topic01

修改分区数(只能增、不能减)

./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --alter --topic topic01 --partitions 4

删除topic

./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --delete --topic topic02

创建消费者(阻塞)

./bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic topic01 --group group1

#添加打印属性
./bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic topic01 --group group1 --property print.key=true --property print.value=true --property key.separator=.

#查看组列表
./bin/kafka-consumer-groups.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --list

#查看组详细
./bin/kafka-consumer-groups.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --describe --group group1

创建生产者-进入交互

./bin/kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092 --topic topic01
原文地址:https://www.cnblogs.com/wod-Y/p/13456026.html