要使Apache Kafka在CentOS上稳定运行,需要考虑多个方面,包括系统要求、安装步骤、配置优化、高可用性设置以及监控和日志管理。以下是详细的指南:
系统要求:
硬件要求:
软件依赖:
安装Java:
sudo yum install java-1.8.0-openjdk-devel
java -version
下载并解压Kafka:
wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz
tar -xzf kafka_2.13-3.5.1.tgz -C /opt/kafka
cd /opt/kafka
配置Kafka:
编辑 /opt/kafka/config/server.properties
文件,设置以下配置:
log.dirs=/opt/kafka/data/kafka-logs
log.retention.hours=168
log.retention.bytes=1073741824
zookeeper.connect=localhost:2181
broker.id=0
port=9092
hostnameoverride=localhost
启动Kafka:
cd /opt/kafka/bin
./kafka-server-start.sh /opt/kafka/config/server.properties
网络和IO线程优化:
num.network.threads=3
num.io.threads=8
Socket缓冲区大小调整:
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
分区与副本设计:
num.partitions=3
replication.factor=3
min.insync.replicas=2
日志管理:
log.segment.bytes=1073741824
log.retention.hours=168
配置Zookeeper集群:
在多台机器上配置Zookeeper集群,确保每个节点的 zoo.cfg
文件配置一致。
启动Zookeeper和Kafka Broker: 在每台机器上启动Zookeeper和Kafka Broker,确保它们能够相互通信。
监控和故障恢复: 使用JMX、Prometheus、Grafana等工具监控Kafka集群的健康状况和性能表现,设置报警规则以应对潜在问题。
查看Kafka进程状态:
ps -ef | grep kafka
jps | grep kafka
查看Kafka服务状态:
systemctl status kafka
查看Kafka日志:
tail -f /opt/kafka/data/kafka-logs/server.log
使用第三方监控工具:
通过以上步骤和优化措施,可以确保Kafka在CentOS上稳定运行,并提供高可用性和良好的性能。