麒麟OS怎么安装Kafka消息队列_麒麟OS Kafka安装配置部署教程【高级】

秋杰同学_4044

秋杰同学_4044

2026-04-08

415人浏览

原创

麒麟os部署kafka常见问题源于java缺失、zookeeper未启、配置错误或架构适配疏漏;推荐三法:一、openjdk11+内置zk快速单机部署;二、分离zk+kafka高可控生产部署;三、arm离线专用部署,含jvm参数修正与权限配置。

麒麟os怎么安装kafka消息队列_麒麟os kafka安装配置部署教程【高级】

如果您在麒麟操作系统上部署Kafka消息队列时遇到服务启动失败、ZooKeeper连接拒绝、端口被占用或配置不生效等问题,则很可能是由于Java环境缺失、ZooKeeper未前置启动、网络监听配置错误或ARM/x86架构适配疏漏所致。以下是针对麒麟OS(V10 SP2/SP3,含ARM与x86_64平台)的多种可行安装与配置路径:

一、基于OpenJDK 11 + 内置ZooKeeper的快速单机部署法

该方法适用于开发测试环境,利用Kafka 3.x自带的ZooKeeper组件,避免额外部署ZooKeeper服务,减少依赖冲突风险,特别适配银河麒麟V10默认OpenJDK 11运行时环境。

1、确认系统架构与Java版本:执行 java -version 并确保输出包含 openjdk version "11";若未安装,运行 yum install -y java-11-openjdk-devel

2、创建统一部署目录并下载Kafka二进制包:mkdir -p /usr/local/kafka && cd /usr/local/kafka;使用华为云镜像源下载:wget https://mirrors.huaweicloud.com/apache/kafka/3.9.0/kafka_2.12-3.9.0.tgz

3、解压并建立软链接便于版本管理:tar -xzf kafka_2.12-3.9.0.tgz && ln -sf kafka_2.12-3.9.0 kafka确保 /usr/local/kafka 指向当前解压目录

4、修改Kafka主配置文件:vim /usr/local/kafka/config/server.properties,关键项设置为:
broker.id=0
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://本机实际IP地址:9092
log.dirs=/var/kafka-logs
zookeeper.connect=localhost:2181
num.partitions=3

5、初始化数据目录并授权:mkdir -p /var/kafka-logs && chown -R $(whoami):$(whoami) /var/kafka-logs此步骤不可跳过,否则kafka-server-start.sh将因权限拒绝而静默退出

6、后台启动ZooKeeper与Kafka服务:/usr/local/kafka/bin/zookeeper-server-start.sh -daemon /usr/local/kafka/config/zookeeper.properties;等待3秒后执行:/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

二、分离式ZooKeeper + Kafka双进程高可控部署法

该方法将ZooKeeper独立部署,适用于生产环境或需精细调优ZK参数(如autopurge、clientPort等)的场景,规避Kafka内置ZK版本锁定问题,增强麒麟OS下ARM平台稳定性。

1、单独部署ZooKeeper 3.9.3:下载 apache-zookeeper-3.9.3-bin.tar.gz 至 /usr/local/;解压后执行:tar -xzf apache-zookeeper-3.9.3-bin.tar.gz -C /usr/local/;创建数据目录:mkdir -p /usr/local/apache-zookeeper-3.9.3-bin/data

2、配置ZooKeeper核心参数:cp /usr/local/apache-zookeeper-3.9.3-bin/conf/zoo_sample.cfg /usr/local/apache-zookeeper-3.9.3-bin/conf/zoo.cfg;编辑zoo.cfg,设置:
dataDir=/usr/local/apache-zookeeper-3.9.3-bin/data
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=24

3、启动独立ZooKeeper服务:/usr/local/apache-zookeeper-3.9.3-bin/bin/zkServer.sh start验证端口监听:netstat -tuln | grep :2181 必须显示 LISTEN 状态

4、配置Kafka指向外部ZooKeeper:vim /usr/local/kafka/config/server.properties,修改:
zookeeper.connect=127.0.0.1:2181
并注释或删除所有以“zookeeper.”开头的其他行(如zookeeper.connection.timeout.ms)。

5、禁用Kafka内置ZooKeeper启动脚本干扰:重命名 /usr/local/kafka/bin/zookeeper-server-start.sh 为 zookeeper-server-start.sh.disabled,防止误启冲突实例。

6、启动Kafka Broker:/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties;检查日志:tail -f /usr/local/kafka/logs/server.log,确认出现 "Kafka startTimeMs" 字样即成功。

三、离线环境ARM架构麒麟OS专用部署法

该方法专为无外网、仅挂载本地ISO镜像的国产化信创环境设计,解决麒麟V10 ARM版(aarch64)因glibc版本、JVM选项或Scala运行时兼容性导致的启动崩溃问题。

1、挂载麒麟V10 SP1 ARM ISO并启用本地yum源:mount -o loop Kylin-Server-10-SP1-aarch64-Release-Build20-20210518.iso /media;备份并编辑 /etc/yum.repos.d/kylin_aarch64.repo,启用 base 和 updates 仓库。

2、安装适配ARM的OpenJDK 11:yum install -y java-11-openjdk-devel --enablerepo=updates;验证输出中包含 openjdk version "11.0.22"os.arch=aarch64

3、获取ARM兼容Kafka包:必须选用 _2.12 或 _2.13 后缀且明确标注 aarch64 的构建版本;若官方无提供,需从社区编译版(如 Apache Kafka Mirror for Kylin)下载 kafka_2.12-3.7.1-arm64.tgz

4、修正JVM启动参数以绕过G1GC实验性限制:vim /usr/local/kafka/bin/kafka-run-class.sh;定位到 KAFKA_JVM_PERFORMANCE_OPTS 定义段,删除整行 "-XX:+UseG1GC" 及其前后相关GC参数,仅保留 -server -Djava.awt.headless=true

5、配置监听地址适配ARM网卡识别差异:vim /usr/local/kafka/config/server.properties;将 listeners 改为:
listeners=PLAINTEXT://$(hostname -I | awk '{print $1}'):9092
advertised.listeners=PLAINTEXT://$(hostname -I | awk '{print $1}'):9092

6、创建专用日志组并赋权:groupadd kafka-logs && usermod -a -G kafka-logs $(whoami)chgrp kafka-logs /var/kafka-logs && chmod 775 /var/kafka-logs;重启服务前执行 newgrp kafka-logs 刷新组权限。

Kafka Eagle可视化工具
Kafka Eagle可视化工具

Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2068

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

959

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

367

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

307

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

346

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

560

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1389

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1177

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1305

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.1万人学习