下载安装
参开kafka社区
zookeeper+kafka消息队列群集部署https://apache.csdn.net/66c958fb10164416336632c3.html
下载
kafka_2.12-3.2.0安装包快速下载地址分享
官网下载链接地址:
官网下载地址:https://kafka.apache.org/downloads
官网呢下载慢,下载这种 Binary downloads 后面对应的源文件,二进制包
可以使用某个镜像资源的链接地址:
某个镜像资源的地址:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.2.0/
仔细观察了一下这个网站,厉害了:清华大学开源软件镜像站
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/
kafka 默认使用zookeeper 集群管理kafka 集群,确保ZooKeeper实例已经运行,因为Kafka使用ZooKeeper来维护集群状态。如果你没有ZooKeeper实例,可以通过以下命令快速启动一个内置的ZooKeeper实例
./bin/zookeeper-server-start.sh config/zookeeper.properties
使用内置的zookeeper时候需要配置。kafka_2.12-3.6.2/config/zookeeper.properties
安装配置
单机配置部署
windows 环境下,在kafka 的配置文件目录下kafka_2.12-3.6.2/config
配置server.pertie文件下
broker.id=0
log.dirs=D:\\tools\\kafka_2.12-3.6.2\\kafka-logs
zookeeper.connect=127.0.0.1:2181
num.partitions=1
群集部署kafka
主机
kafka1:192.168.10.101
kafka2:192.168.10.102
kafka3:192.168.10.103
[root@kafka1 ~]# vim /etc/hosts
192.168.10.101 kafka1
192.168.10.102 kafka2
192.168.10.103 kafka3
1:zookeeper部署
(1)安装zookeeper(三个节点的配置相同)
[root@kafka1 ~]# yum -y install java
[root@kafka1 ~]# tar zxvf apache-zookeeper-3.6.0-bin.tar.gz
[root@kafka1 ~]# mv apache-zookeeper-3.6.0-bin /etc/zookeeper
(2)创建数据保存目录(三个节点的配置相同)
[root@kafka1 ~]# cd /etc/zookeeper/
[root@kafka1 zookeeper]# mkdir zookeeper-data
(3)修改配置文件(三个节点的配置相同)
[root@kafka1 zookeeper]# cd /etc/zookeeper/conf
[root@kafka1 ~]# mv zoo_sample.cfg zoo.cfg
[root@kafka1 ~]# vim zoo.cfg
dataDir=/etc/zookeeper/zookeeper-data
clientPort=2181
server.1=192.168.10.114:2888:3888
server.2=192.168.10.115:2888:3888
server.3=192.168.10.116:2888:3888
//注释:zookeeper只用的端口
2181:对clinet端提供服务
3888:选举leader使用
2888:集群内机器通讯使用(Leader监听此端口)
(4)创建节点id文件(按server编号设置这个id,三个机器不同)
节点1:
[root@kafka1 conf]# echo '1' > /etc/zookeeper/zookeeper-data/myid
节点2:
[root@kafka2 conf]# echo '2' > /etc/zookeeper/zookeeper-data/myid
节点3:
[root@kafka3 conf]# echo '3' > /etc/zookeeper/zookeeper-data/myid
(5)三个节点启动zookeeper进程
[root@kafka1 conf]# cd /etc/zookeeper/
[root@kafka1 zookeeper]# ./bin/zkServer.sh start
[root@kafka1 zookeeper]# ./bin/zkServer.sh status
2:kafka的部署
(1)kafka的安装(三个节点的配置相同)
[root@kafka1 ~]# tar zxvf kafka_2.13-2.4.1.tgz
[root@kafka1 ~]# mv kafka_2.13-2.4.1 /etc/kafka
(2)修改配置文件
[root@kafka1 ~]# cd /etc/kafka/
[root@kafka2 kafka]# vim config/server.properties
broker.id=1 ##21行 修改,注意其他两个的id分别是2和3
listeners=PLAINTEXT://192.168.10.114:9092 #31行 修改,其他节点改成各自的IP地址
log.dirs=/etc/kafka/kafka-logs ## 60行 修改
num.partitions=1 ##65行 分片数量,不能超过节点数
zookeeper.connect=192.168.10.114:2181,192.168.10.115:2181,192.168.10.116:2181
//9092是kafka的监听端口
(3)创建日志目录(三个节点的配置相同)
[root@kafka1 kafka]# mkdir /etc/kafka/kafka-logs
(4)在所有kafka节点上执行开启命令,生成kafka群集(三个节点的配置相同)
[root@kafka1 kafka]# ./bin/kafka-server-start.sh config/server.properties &
如果启动不了,可以将/etc/kafka/kafka-logs中的数据清除再试试
3:测试
创建topic(任意一个节点)
bin/kafka-topics.sh --create --zookeeper kafka1:2181 --replication-factor 1 --partitions 1 --topic test
列出topic(任意一个节点)
bin/kafka-topics.sh --list --zookeeper kafka1:2181
bin/kafka-topics.sh --list --zookeeper kafka2:2181
bin/kafka-topics.sh --list --zookeeper kafka3:2181
生产消息
bin/kafka-console-producer.sh --broker-list kafka1:9092 -topic test
消费消息
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic test
删除topic
bin/kafka-topics.sh --delete --zookeeper kafka1:2181 --topic test
二 kafka 的相关概念
https://blog.csdn.net/qq_51138261/article/details/119325312
kafka 社区