温馨提示×

kafka如何在centos上稳定运行

小樊
37
2025-02-18 20:56:16
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上稳定运行Kafka需要经过一系列步骤,包括安装必要的软件、配置环境、启动服务以及进行性能优化等。以下是详细的步骤指南:

1. 安装Java环境

Kafka是用Java编写的,因此在安装Kafka之前,需要先安装Java Development Kit (JDK)。

sudo yum install java-1.8.0-openjdk-devel
java -version

2. 下载和解压Kafka

从Apache Kafka官网下载Kafka的二进制文件,然后解压到指定目录。

wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
cd kafka_2.12-3.5.2

3. 配置Zookeeper

Kafka依赖于Zookeeper,因此需要先配置和启动Zookeeper。

编辑Zookeeper配置文件 /config/zoo.cfg

tickTime=2000
dataDir=/tmp/zookeeper
clientPort=2181

启动Zookeeper

./bin/zookeeper-server-start.sh ./config/zoo.cfg

4. 配置Kafka

编辑Kafka配置文件 /config/server.properties

broker.id=0
listeners=SASL_PLAINTEXT://:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

创建Kafka目录

mkdir -p /tmp/kafka-logs

5. 启动Kafka服务

使用以下命令启动Kafka服务:

./bin/kafka-server-start.sh ./config/server.properties

6. 设置开机自启

创建Kafka服务文件 /etc/systemd/system/kafka.service

[Unit]
Description=Apache Kafka server
After=network.target zookeeper.service

[Service]
Type=simple
User=kafka
Group=kafka
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

创建Zookeeper服务文件 /etc/systemd/system/zookeeper.service

[Unit]
Description=Apache Zookeeper
After=network.target

[Service]
Type=simple
User=zookeeper
Group=zookeeper
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zoo.cfg
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用并启动服务

systemctl daemon-reload
systemctl enable zookeeper
systemctl enable kafka
systemctl start zookeeper
systemctl start kafka

7. 防火墙配置

如果需要从外部访问Kafka,需要开放相关端口:

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload

8. 监控和日志管理

对于生产环境,建议配置监控和日志管理工具,如Kafka Manager或Prometheus结合Grafana,以监控Kafka集群的健康状况和性能指标。

9. 性能优化

  • TCP网络优化
sudo sysctl -w net.core.rmem_default=262144
sudo sysctl -w net.core.rmem_max=2097152
sudo sysctl -w net.core.wmem_default=262144
sudo sysctl -w net.core.wmem_max=2097152
  • 进程级资源限制优化
sudo vi /etc/security/limits.conf

添加或修改以下行:

* soft nofile 655360
* hard nofile 655360
* soft nproc 8096
* hard nproc 8096

10. 数据备份与恢复

对于生产环境,需要定期备份Kafka数据,并制定灾难恢复计划。

注意事项

  • 在生产环境中,建议使用最新稳定版本的Kafka,以获得更好的性能和安全性。
  • 定期检查和更新Kafka及其依赖的JDK和Zookeeper。
  • 监控Kafka集群的健康状况,及时处理潜在的问题。

通过以上步骤,您可以在CentOS上成功安装和配置Kafka,并确保其稳定运行。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何在Debian上稳定运行Kafka

0