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
posted @ 2025-06-16 13:21  BlackSnow  阅读(118)  评论(0)    收藏  举报