1. 首页 > 软件安装教程 > 正文

kafka安装-kafka 3.2.3 for RHEL 9安装配置及升级迁移详细过程

1. 硬件环境检查

在安装kafka之前,必须对服务器的硬件环境进行全面检查,确保满足kafka 3.2.3的最低要求。更多学习教程www.fgedu.net.cn

# 检查内存大小
# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 8.5M 1.8G 29G
Swap: 16G 0B 16G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /data

# 检查CPU核心数
# nproc
8

# 检查系统架构
# uname -m
x86_64

生产环境建议:Kafka集群建议至少3个节点,每个节点内存16GB以上,CPU 8核心以上,磁盘空间500GB以上。数据目录建议使用SSD,以提高性能。

2. 操作系统检查

kafka 3.2.3支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)

# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64

# 检查SELinux状态
# getenforce
Disabled

# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled

# 检查防火墙状态
# systemctl status firewalld

# 开放kafka相关端口
# firewall-cmd –permanent –add-port=9092/tcp
# firewall-cmd –permanent –add-port=9093/tcp
# firewall-cmd –reload

3. 安装准备

在安装kafka之前,需要进行一系列准备工作,包括安装Java、配置ZooKeeper等。

# 安装Java
# dnf install -y java-11-openjdk-devel

# 检查Java版本
# java -version
openjdk version “11.0.16”
OpenJDK Runtime Environment (build 11.0.16+8)
OpenJDK 64-Bit Server VM (build 11.0.16+8, mixed mode)

# 安装必要的依赖
# dnf install -y wget tar

# 下载Kafka安装包
# wget https://archive.apache.org/dist/kafka/3.2.3/kafka_2.13-3.2.3.tgz

# 安装ZooKeeper(如果未安装)
# 参考ZooKeeper安装文档

风哥提示:Kafka安装需要Java环境,建议使用Java 11。同时需要ZooKeeper服务。

4. kafka软件安装

现在开始安装kafka 3.2.3软件,按照以下步骤进行。

# 解压安装包
# tar -xzvf kafka_2.13-3.2.3.tgz
# mv kafka_2.13-3.2.3 /opt/kafka

# 配置环境变量
# vi /etc/profile.d/kafka.sh
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin

# 使环境变量生效
# source /etc/profile

# 创建数据目录
# mkdir -p /var/lib/kafka/logs
# chown -R root:root /var/lib/kafka

5. 数据库配置

配置Kafka的核心配置文件。

# 编辑server.properties配置文件
# vi $KAFKA_HOME/config/server.properties

broker.id=0
listeners=PLAINTEXT://localhost:9092
delete.topic.enable=true
log.dirs=/var/lib/kafka/logs
zookeeper.connect=localhost:2181
default.replication.factor=1
num.partitions=1
log.retention.hours=168

# 性能优化配置
num.io.threads=8
num.network.threads=3
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

# 启动Kafka服务
# 先启动ZooKeeper
# $ZOOKEEPER_HOME/bin/zkServer.sh start

# 启动Kafka
# nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties > /var/log/kafka/kafka.log 2>&1 &

# 设置开机自启
# vi /etc/systemd/system/kafka.service
[Unit]
Description=Kafka Service
After=zookeeper.service

[Service]
Type=forking
Environment=KAFKA_HOME=/opt/kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启用服务
# systemctl daemon-reload
# systemctl enable kafka
# systemctl start kafka

6. 测试验证

启动Kafka并验证功能正常。学习交流加群风哥QQ113257174

# 创建测试主题
# $KAFKA_HOME/bin/kafka-topics.sh –create –topic test-topic –bootstrap-server localhost:9092 –partitions 1 –replication-factor 1

# 发送测试消息
# $KAFKA_HOME/bin/kafka-console-producer.sh –topic test-topic –bootstrap-server localhost:9092 << EOF test message 1 test message 2 test message 3 EOF # 消费测试消息 # $KAFKA_HOME/bin/kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning # 查看主题列表 # $KAFKA_HOME/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 # 检查服务状态 # ps aux | grep kafka

7. 备份配置

配置Kafka备份策略,确保数据安全。

# 创建备份目录
# mkdir -p /backup/kafka

# 备份配置文件
# cp -r $KAFKA_HOME/config /backup/kafka/

# 备份数据目录
# cp -r /var/lib/kafka /backup/kafka/

# 配置自动备份
# 创建备份脚本
# vi /root/backup_kafka.sh

#!/bin/bash

DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/kafka/$DATE”

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份配置文件
cp -r /opt/kafka/config $BACKUP_DIR/

# 备份数据目录
cp -r /var/lib/kafka $BACKUP_DIR/

# 给脚本添加执行权限
# chmod +x /root/backup_kafka.sh

# 添加到crontab
# crontab -e

# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_kafka.sh

生产环境建议:备份策略应包括每日全量备份,备份文件应存储在不同的物理位置,定期测试备份恢复以确保备份有效性。

8. 升级迁移

Kafka的升级和迁移过程。

# 升级Kafka版本
# 1. 备份配置和数据
# /root/backup_kafka.sh

# 2. 停止Kafka服务
# systemctl stop kafka

# 3. 下载新版本安装包
# wget https://archive.apache.org/dist/kafka/3.2.4/kafka_2.13-3.2.4.tgz

# 4. 解压安装包
# tar -xzvf kafka_2.13-3.2.4.tgz
# mv /opt/kafka /opt/kafka-old
# mv kafka_2.13-3.2.4 /opt/kafka

# 5. 复制配置文件
# cp -r /opt/kafka-old/config/* /opt/kafka/config/

# 6. 启动Kafka服务
# systemctl start kafka

# 7. 验证升级结果
# $KAFKA_HOME/bin/kafka-topics.sh –version

# 数据库迁移
# 从旧版本Kafka迁移到Kafka 3.2.3

# 1. 在旧系统上创建备份
# cp -r /var/lib/kafka /backup/kafka-migration/

# 2. 将备份文件复制到新系统
# scp -r /backup/kafka-migration root@new-server:/backup/

# 3. 在新系统上恢复备份
# cp -r /backup/kafka-migration /var/lib/kafka
# chown -R root:root /var/lib/kafka

# 4. 启动Kafka服务
# systemctl start kafka

# 5. 验证迁移结果
# $KAFKA_HOME/bin/kafka-topics.sh –list –bootstrap-server localhost:9092

风哥提示:Kafka升级和迁移前,建议先在测试环境进行演练,确保升级过程顺利。同时,备份所有重要数据,以防万一。

9. 总结

本文详细介绍了kafka 3.2.3 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Kafka服务并确保其稳定运行。from:www.itpux.com

生产环境建议:
– 定期备份Kafka数据和配置,建议每天执行一次全备份
– 监控Kafka性能,定期检查服务状态和日志
– 定期更新Kafka版本,确保系统安全性和性能
– 合理规划Kafka存储,避免空间不足
– 配置合适的参数,优化Kafka性能
– 对于生产环境,建议部署3节点集群,提高可用性和可靠性

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息