系列文章目录
前言
本文介绍两种安装Kafka的方式,基于Kraft和基于Zookeeper
一、yum安装jdk1.8
1.搜索jdk
yum search java | grep -i --color jdk
2.安装jdk1.8
yum install -y java-1.8.0-openjdk
3.检查
[root@localhost bin]# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
二、基于kraft安装Kafka(无需Zookeeper)
1、下载安装包
去清华镜像网站下载kafka
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.6.0/
2、解压启动
复制到服务器,解压后进入kafka文件的bin目录
2.1、生成集群id(I3_GzTpvSIy2mBkVE14HBA为集群ID)
[root@localhost bin]# ./kafka-storage.sh random-uuid
I3_GzTpvSIy2mBkVE14HBA
2.2、格式化存储目录(复制上个命令的集群ID)
[root@localhost bin]# ./kafka-storage.sh format -t I3_GzTpvSIy2mBkVE14HBA -c ../config/kraft/server.properties
Formatting /tmp/kraft-combined-logs with metadata.version 3.6-IV2.
2.3、kraft方式启动Kfka
[root@localhost bin]# ./kafka-server-start.sh ../config/kraft/server.properties
.
.
.
[2023-11-04 15:38:58,104] INFO Kafka commitId: 60e845626d8a465a (org.apache.kafka.common.utils.AppInfoParser)
[2023-11-04 15:38:58,105] INFO Kafka startTimeMs: 1699083538104 (org.apache.kafka.common.utils.AppInfoParser)
[2023-11-04 15:38:58,107] INFO [KafkaRaftServer nodeId=1] Kafka Server started (kafka.server.KafkaRaftServer)
出现Kafka Server started表示启动成功
此非后台启动,关闭窗口Kafka即停止运行
三、基于Zookeeper安装Kafka
1、下载安装Zookepper
1.1、去清华镜像下载Zookepper并导入服务器中
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/
解压并进入config目录,复制zoo_sample.cfg为zoo_cfg
cp zoo_sample.cfg zoo.cfg
1.2、启动zookeeper
进入bin目录执行
./zkServer.sh start
2、启动Kafka
2.1、修改kafka的config目录下的server.properties文件如下两项配置,host改为自己服务器Ip
listeners=PLAINTEXT://host:9092
advertised.listeners=PLAINTEXT://host:9092
2.2、启动Kafka
进入Kafka的bin目录,执行
./kafka-server-start.sh ../config/server.properties
四、kafka基本的操作和管理
列出所有主题
./kafka-topics.sh --bootstrap-server localhost:9092 --list
列出所有主题的详细信息
./kafka-topics.sh --bootstrap-server localhost:9092 --describe
创建主题主题名 my-topic ,1副本,8分区
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my-topic --replication-factor 1 --partitions 8
增加分区,注意:分区无法被删除
./kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic my-topic --partitions 16
创建生产者(控制台)
./kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
创建消费者(控制台)
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning --consumer.config ../config/consumer.properties
kafka终止命令
./kafka-server-stop.sh
参考文档:
总结
本文主要介绍了本地开发环境如何搭建kafka服务器,以及kafka基础命令如创建topic,发送消息,接收消息等。