Kafka 单节点 环境搭建
Kafka 集群搭建指南
版本说明
kafka 3.9.1
0. 硬盘分区处理
# 若硬盘已分区需先删除原分区
wipefs -a -f /dev/sda
注:路径根据实际修改
1. 硬盘格式化与挂载
lsblk # 检测磁盘(假设磁盘为/dev/sdb)
pvcreate /dev/sdb # 创建物理卷
vgcreate kafka_vg /dev/sdb # 创建卷组
lvcreate -l +100%free -n kafka_lv kafka_vg # 创建逻辑卷
mkfs.xfs /dev/kafka_vg/kafka_lv # 格式化XFS文件系统
mkdir /kafka # 在根目录创建挂载点
mount /dev/kafka_vg/kafka_lv /kafka # 挂载到/kafka
# 设置开机自动挂载
echo "/dev/kafka_vg/kafka_lv /kafka xfs defaults 0 0" >> /etc/fstab
mount -a && df -h # 验证挂载
2. 目录规划
cd /kafka # 创建根目录
# 将kafka安装包(kafka_2.13-3.9.1.tgz)拷贝到/kafka
cp /your/file/path/kafka_2.13-3.9.1.tgz /kafka/
tar -zxvf kafka_2.13-3.9.1.tgz # 解压安装包
3. 环境依赖
dnf install -y java-17-openjdk # 安装OpenJDK17
注:Kafka在OpenJDK上做过兼容性测试,兼容性最优
4. 用户设置
sudo useradd -r -m -d /kafka -s /bin/bash kafka # 创建系统用户(-r参数)
sudo chown -R kafka:kafka /kafka # 授权目录
5. Kafka配置
编辑配置文件:/kafka/kafka_2.13-3.9.1/config/kraft/server.properties
# 监听端点配置
listeners=PLAINTEXT://:9092,PLAINTEXT_INTERNAL://172.17.90.111:9094,CONTROLLER://:9093
# 服务端点公告
advertised.listeners=PLAINTEXT://localhost:9092,PLAINTEXT_INTERNAL://172.17.90.111:9094,CONTROLLER://localhost:9093
# 安全协议映射
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_INTERNAL:PLAINTEXT,PLAINTEXT_PUBIC:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
# 日志存储目录
log.dirs=/kafka/kafka_2.13-3.9.1/kraft-combined-logs
注:IP地址请根据网卡对应的IP进行修改
6. KRaft模式初始化
运行脚本
cd /kafka/kafka_2.13-3.9.1
./bin/kafka-storage.sh random-uuid # 生成UUID (示例: fWDamvz8T0-dLH0IFQP2Wg)
# 格式化存储
./bin/kafka-storage.sh format --standalone \
-t fWDamvz8T0-dLH0IFQP2Wg \
-c config/kraft/server.properties
7. 测试启动
# 启动服务
sudo -u kafka bin/kafka-server-start.sh config/kraft/server.properties
# 停止服务
sudo -u kafka bin/kafka-server-stop.sh
或
ctrl^c
8. 系统服务配置
创建服务文件:/etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
After=network.target
[Service]
User=kafka
Group=kafka
ExecStart=/kafka/kafka_2.13-3.9.1/bin/kafka-server-start.sh /kafka/kafka_2.13-3.9.1/config/kraft/server.properties
ExecStop=/kafka/kafka_2.13-3.9.1/bin/kafka-server-stop.sh
Restart=always
RestartSec=5
StartLimitBurst=5
StartLimitIntervalSec=300 #限制每5分钟最多重启5次 防止大量报错日志占满kafka空间
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
9. 关闭SELinux (可选)
# 检查SELinux状态
sudo vim /etc/selinux/config
# 修改以下参数后重启生效
SELINUX=disabled
配置文件说明:
enforcing:强制模式permissive:仅警告不拦截disabled:完全禁用
reboot # 重新启动
10. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka
11. 连接验证
使用客户端工具(如 Explore Offset 3.0)连接测试:
- 外部访问地址:
172.17.90.111:9094 - 本地地址:
localhost:9092

浙公网安备 33010602011771号