在CentOS上稳定运行Kafka需要经过一系列步骤,包括安装必要的软件、配置环境、启动服务以及进行性能优化等。以下是详细的步骤指南:
Kafka是用Java编写的,因此在安装Kafka之前,需要先安装Java Development Kit (JDK)。
sudo yum install java-1.8.0-openjdk-devel
java -version
从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
Kafka依赖于Zookeeper,因此需要先配置和启动Zookeeper。
编辑Zookeeper配置文件 /config/zoo.cfg
:
tickTime=2000
dataDir=/tmp/zookeeper
clientPort=2181
启动Zookeeper:
./bin/zookeeper-server-start.sh ./config/zoo.cfg
编辑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
使用以下命令启动Kafka服务:
./bin/kafka-server-start.sh ./config/server.properties
创建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
如果需要从外部访问Kafka,需要开放相关端口:
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload
对于生产环境,建议配置监控和日志管理工具,如Kafka Manager或Prometheus结合Grafana,以监控Kafka集群的健康状况和性能指标。
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
对于生产环境,需要定期备份Kafka数据,并制定灾难恢复计划。
通过以上步骤,您可以在CentOS上成功安装和配置Kafka,并确保其稳定运行。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何在Debian上稳定运行Kafka