阅读量:2
在Ubuntu上稳定运行Kafka需从环境准备、配置优化、服务管理及监控维护等方面入手,具体步骤如下:
-
安装基础环境
- 安装Java(推荐OpenJDK 11):
验证:sudo apt update sudo apt install openjdk-11-jdkjava -version。 - 创建专用用户(可选,提升安全性):
sudo useradd -m kafka sudo passwd kafka sudo su - kafka ```。
- 安装Java(推荐OpenJDK 11):
-
下载与配置Kafka
- 下载并解压Kafka(选择最新稳定版):
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar -xzf kafka_2.13-3.6.1.tgz mv kafka_2.13-3.6.1 ~/kafka ```。 - 配置环境变量(可选):
echo "export KAFKA_HOME=~/kafka" >> ~/.bashrc echo "export PATH=$KAFKA_HOME/bin:$PATH" >> ~/.bashrc source ~/.bashrc ```。
- 下载并解压Kafka(选择最新稳定版):
-
配置ZooKeeper与Kafka
- ZooKeeper(内置):
编辑config/zookeeper.properties,设置数据目录:启动:dataDir=/tmp/zookeeper clientPort=2181bin/zookeeper-server-start.sh config/zookeeper.properties &。 - Kafka Broker:
编辑config/server.properties:启动:broker.id=0 listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://服务器IP:9092 log.dirs=/var/lib/kafka/logs # 持久化存储路径 zookeeper.connect=localhost:2181 delete.topic.enable=truebin/kafka-server-start.sh -daemon config/server.properties。
- ZooKeeper(内置):
-
服务化与稳定性优化
- 设置为Systemd服务(推荐):
创建服务文件/etc/systemd/system/kafka.service:启用并启动:[Unit] Description=Apache Kafka After=network.target zookeeper.service [Service] User=kafka Group=kafka ExecStart=/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload sudo systemctl enable --now kafka ```。 - 调整系统参数:
增加文件描述符限制:优化内核参数(如sudo ulimit -n 65536vm.swappiness、net.core.somaxconn)。
- 设置为Systemd服务(推荐):
-
功能验证与监控
- 创建Topic并测试消息收发:
# 创建Topic bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test --partitions 3 --replication-factor 1 # 生产者发送消息 bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test # 消费者接收消息 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning ```。 - 监控与日志管理:
- 使用Kafka自带工具(如
kafka-consumer-groups.sh)监控消费情况。 - 配置日志轮转(如
log4j.properties中设置log.retention.hours)。
- 使用Kafka自带工具(如
- 创建Topic并测试消息收发:
-
安全与性能调优(可选)
- 启用认证与加密:配置SSL/SASL(参考官方文档)。
- 性能优化:
- 调整分区数与副本数(副本数建议≥2,分区数与消费者并行度匹配)。
- 优化JVM参数:
-Xms4G -Xmx4G -XX:+UseG1GC。 - 硬件层面使用SSD存储日志,确保网络带宽充足。
注意事项:
- 避免使用默认的
/tmp目录存储数据,需指定持久化路径(如/var/lib/kafka/logs)。 - 多节点部署时需确保
broker.id唯一,且ZooKeeper集群配置正确。 - 定期清理过期日志,避免磁盘占满。
参考来源:
以上就是关于“kafka于ubuntu如何稳定运行”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm