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
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等。
# 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安装文档
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的核心配置文件。
# 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
# 先启动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的升级和迁移过程。
# 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
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
