文章目录
-
- [1. Kafka启动使用Zookeeper](#1. Kafka启动使用Zookeeper)
- [2. Zookeeper的下载和安装](#2. Zookeeper的下载和安装)
- [3. Kafka启动使用KRaft](#3. Kafka启动使用KRaft)
-
官网下载安装包后,版本:kafka_2.13-3.9.1
如:放在如下路径下
bash
/opt/kafka_2.13-4.0.0
- 在 /opt/kafka_2.13-3.9.1/config 下修改日志路径,避免被清空,如:

xml
log.dirs=/opt/kafka_2.13-4.0.0/kraft-combined-logs
- 设置环境变量
bash
vim /etc/profile
bash
KAFKA_HOME=/opt/kafka_2.13-4.0.0
PATH=$JAVA_HOME/bin:$GOROOT/bin:$KAFKA_HOME/bin:$PATH
bash
source /etc/profile
启动Kafka环境
- 注意:本地环境必须安装了Java 8+;
- Apache Kafka可以使用ZooKeeper或KRaft启动;但只能使用其中一种方式,不能同时使用;
- KRaft:Apache Kafka的内置共识机制,用于取代 Apache ZooKeeper;
1. Kafka启动使用Zookeeper
- 在bin目录下启动zookeeper:
bash
./zookeeper-server-start.sh ../config/zookeeper.properties &

- 查看zk进程
bash
ps -ef|grep zookeeper
- 查看zk端口号
bash
netstat -nlpt

或者单独下载个zk启动,不使用kafka内置的zk,可以参考我写的这篇文章:
Zookeeper 3.8.4 安装和参数解析
- 启动kafka
bash
./kafka-server-start.sh ../config/server.properties &
- 查看 Kafka 端口号,默认 9092
bash
netstat -nlpt

可以看到上面 zk 和 kafka 的 pid 分别占用了两个端口号
- 关闭Kafka
bash
./kafka-server-stop.sh ../config/server.properties
- 关闭zookeeper
bash
./zookeeper-server-stop.sh ../config/zookeeper.properties
2. Zookeeper的下载和安装
- 详细安装请参考如下
Windows下安装:Windows下安装zookeeper
Linux下安装:Zookeeper 3.8.4 安装和参数解析
下面简单介绍下
- 获取Zookeeper
- 下载最新版本的Zookeeper:https://zookeeper.apache.org/
- 安装Zookeeper
bash
tar -xzf apache-zookeeper-3.9.2-bin.tar.gz -C /usr/local/
bash
cd apache-zookeeper-3.9.2-bin
- 配置Zookeeper
bash
cp zoo_sample.cfg zoo.cfg
- zoo.cfg 不需要修改,直接使用即可;
- 启动Zookeeper
java
启动:zkServer.sh start
关闭:zkServer.sh stop


- 可以看到 zk 启动的进程占用了如下三个端口号

- zookeeper启动默认会占用8080端口,修改配置文件,添加如下配置:
bash
vim zoo.cfg
bash
admin.serverPort=9089
- 在配置文件最后一行加上

- zk启动后,再启动Kafka
bash
./kafka-server-start.sh ../config/server.properties &
- 在 Kafka 的 config 目录中的 server.properties 可以看到连接 zk 的配置

3. Kafka启动使用KRaft
1、生成Cluster UUID(集群UUID):
- 在 Kafka 中的 bin 目录下

- 可以看下怎么使用

bash
./kafka-storage.sh random-uuid

- info 命令使用

bash
./kafka-storage.sh info -c ../config/kraft/server.properties

2、格式化日志目录:
- 查看命令介绍

bash
./kafka-storage.sh format -t 8tLx5xkqSWOZq1X4xHsY6Q -c ../config/kraft/server.properties

3、启动Kafka:
bash
./kafka-server-start.sh ../config/kraft/server.properties &

- 查看 Kafka 进程占用的端口号


-
Kafka占用的 9002、9003 端口是固定的,还有一个端口号是随机的
-
查看 info 信息
bash
./kafka-storage.sh info -c ../config/kraft/server.properties

4、关闭Kafka:
bash
./kafka-server-stop.sh ../config/kraft/server.properties