20200219 第 2 章 Kafka 快速入门
第 2 章 Kafka 快速入门
2.1. 安装部署
2.1.3 集群部署
-
将压缩包解压到文件夹
/opt/kafka_cluster
内,并重命名为cluster1
; -
在文件夹cluster1内新建
logs
目录 -
修改配置文件
config/server.properties
broker.id=1 delete.topic.enable=true listeners=PLAINTEXT://:9091 log.dirs=/opt/kafka_cluster/cluster1/data zookeeper.connect=192.168.181.128:2187,192.168.181.128:2188,192.168.182.128:2189
-
复制文件夹
cluster1
到cluster2
、cluster3
,并修改cluster2、cluster3中的配置文件config/server.properties
-
启停命令,启动日志在
logs/server.log
中./cluster1/bin/kafka-server-start.sh -daemon ./cluster1/config/server.properties ./cluster1/bin/kafka-server-stop.sh
-
通过ZooKeeper验证启动完成
zkCli.sh -server localhost:2187 [zk: localhost:2187(CONNECTED) 8] ls /brokers/ids [1, 2, 3]
2.2 Kafka 命令行操作
- 查看当前服务器中的所有 topic
./cluster1/bin/kafka-topics.sh --zookeeper localhost:2187 --list
- 创建 topic
./cluster1/bin/kafka-topics.sh --zookeeper localhost:2187 --create --replication-factor 2 --partitions 4 --topic first
- --topic : 定义 topic 名
- --replication-factor : 定义副本数
- --partitions : 定义分区数
- 删除 topic
./cluster1/bin/kafka-topics.sh --zookeeper localhost:2187 --delete --topic first
需要 server.properties
中设置 delete.topic.enable=true
否则只是标记删除。
- 发送消息
./cluster1/bin/kafka-console-producer.sh --broker-list localhost:9091 --topic first
- 消费消息
# 通过ZooKeeper集群
./cluster1/bin/kafka-console-consumer.sh --zookeeper localhost:2187 --topic first
# 通过Kafka集群
./cluster1/bin/kafka-console-consumer.sh --bootstrap-server localhost:9091 --topic first --from-beginning
--from-beginning
: 会把主题中以往所有的数据都读取出来。
- 查看某个 Topic 的详情
./cluster1/bin/kafka-topics.sh --zookeeper localhost:2187 --describe --topic first