kafka-ui离线部署:内网环境安装步骤

kafka-ui离线部署:内网环境安装步骤

【免费下载链接】kafka-ui provectus/kafka-ui: Kafka-UI 是一个用于管理和监控Apache Kafka集群的开源Web UI工具,提供诸如主题管理、消费者组查看、生产者测试等功能,便于对Kafka集群进行日常运维工作。 【免费下载链接】kafka-ui 项目地址: https://gitcode.com/GitHub_Trending/ka/kafka-ui

痛点与解决方案

你是否在隔离网络环境中挣扎于Kafka集群管理工具的部署?本文提供一套完整的Kafka-UI离线部署方案,通过本地化资源准备、配置修改和容器化部署,解决内网环境下的依赖获取和服务启动难题。读完本文你将掌握:

  • 全流程离线资源准备方法
  • 内外网环境配置差异对比
  • 容器化与非容器化部署选项
  • 常见离线部署故障排查技巧

环境准备

硬件要求

配置项最低要求推荐配置
CPU2核4核
内存4GB8GB
磁盘20GB SSD50GB SSD
网络100Mbps内网1Gbps内网

依赖工具清单

mermaid

离线资源准备

1. 代码仓库获取

# 在有网环境克隆仓库
git clone https://gitcode.com/GitHub_Trending/ka/kafka-ui.git
cd kafka-ui
git checkout $(git describe --abbrev=0 --tags)  # 切换到最新稳定版

# 打包代码用于内网传输
tar -czvf kafka-ui-source.tar.gz .

2. Docker镜像准备

# 有网环境拉取所需镜像
docker pull provectuslabs/kafka-ui:latest
docker pull confluentinc/cp-kafka:7.2.1
docker pull confluentinc/cp-schema-registry:7.2.1
docker pull confluentinc/cp-kafka-connect:7.2.1

# 保存镜像为tar包
docker save -o kafka-ui-image.tar provectuslabs/kafka-ui:latest
docker save -o cp-kafka-image.tar confluentinc/cp-kafka:7.2.1
docker save -o cp-sr-image.tar confluentinc/cp-schema-registry:7.2.1
docker save -o cp-connect-image.tar confluentinc/cp-kafka-connect:7.2.1

# 内网环境加载镜像
docker load -i kafka-ui-image.tar
docker load -i cp-kafka-image.tar
docker load -i cp-sr-image.tar
docker load -i cp-connect-image.tar

3. Maven依赖缓存

<!-- settings.xml 添加国内仓库 -->
<settings>
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>central</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>
</settings>
# 有网环境缓存依赖
mvn dependency:go-offline -Dmaven.repo.local=./maven-repo
tar -czvf maven-repo.tar.gz ./maven-repo

4. 前端依赖缓存

# 有网环境安装pnpm
npm install -g pnpm

# 设置国内源并安装依赖
cd kafka-ui-react-app
pnpm config set registry https://registry.npmmirror.com
pnpm install --store=./pnpm-store
tar -czvf pnpm-deps.tar.gz ./pnpm-store ./node_modules ./pnpm-lock.yaml

部署步骤

方案一:Docker Compose部署(推荐)

1. 修改配置文件
# documentation/compose/kafka-ui.yaml 修改
version: '2'
services:
  kafka-ui:
    container_name: kafka-ui
    image: provectuslabs/kafka-ui:latest  # 使用本地镜像
    ports:
      - 8080:8080
    environment:
      KAFKA_CLUSTERS_0_NAME: local
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
      KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
      DYNAMIC_CONFIG_ENABLED: 'true'
    volumes:
      - ./dynamic_config.yaml:/etc/kafkaui/dynamic_config.yaml  # 挂载本地配置
2. 启动服务
# 内网环境执行
cd documentation/compose
docker-compose -f kafka-ui.yaml up -d

# 检查服务状态
docker-compose -f kafka-ui.yaml ps

方案二:源码编译部署

1. 后端编译
# 复制Maven仓库到.m2目录
cp -r maven-repo ~/.m2/repository

# 修改pom.xml使用本地仓库
sed -i 's|<repositories>|<repositories><repository><id>local</id><url>file://~/.m2/repository</url></repository>|' pom.xml

# 编译后端
mvn clean package -DskipTests
2. 前端编译
cd kafka-ui-react-app
cp -r pnpm-store ~/.pnpm-store
pnpm install --offline
pnpm build  # 生成静态资源
3. 启动应用
# 后端启动
java -jar kafka-ui-api/target/kafka-ui-api.jar --spring.config.location=file:./application.yml

# Nginx部署前端静态资源
cp -r kafka-ui-react-app/dist /usr/share/nginx/html
nginx -s reload

配置详解

多集群配置示例

# dynamic_config.yaml
clusters:
  - name: "生产集群"
    bootstrapServers: "kafka-prod:9092"
    schemaRegistry: "http://schema-registry-prod:8081"
    jmxPort: 9997
  - name: "测试集群"
    bootstrapServers: "kafka-test:9092"
    schemaRegistry: "http://schema-registry-test:8081"
    jmxPort: 9998

安全配置(SSL)

# 集群SSL配置
ssl:
  trustStoreLocation: /etc/kafkaui/truststore.jks
  trustStorePassword: "changeit"
  keyStoreLocation: /etc/kafkaui/keystore.jks
  keyStorePassword: "changeit"
  keyPassword: "changeit"

验证部署

服务健康检查

# 检查API服务
curl http://localhost:8080/actuator/health

# 预期响应
{"status":"UP"}

功能验证清单

mermaid

常见问题处理

依赖缺失解决

# Maven依赖缺失时手动安装
mvn install:install-file \
  -Dfile=missing.jar \
  -DgroupId=com.example \
  -DartifactId=missing \
  -Dversion=1.0.0 \
  -Dpackaging=jar

端口冲突处理

# 查找冲突进程
netstat -tulpn | grep 8080

# 修改配置文件中的端口
sed -i 's/8080/8081/g' documentation/compose/kafka-ui.yaml

镜像拉取失败

确保已正确加载本地镜像:

docker images | grep provectuslabs/kafka-ui

维护与升级

数据备份

# 备份配置文件
cp documentation/compose/kafka-ui.yaml kafka-ui.yaml.bak
cp dynamic_config.yaml dynamic_config.yaml.bak

版本升级流程

mermaid

总结

本文详细介绍了Kafka-UI在内网环境下的离线部署方案,通过Docker容器化部署可大幅简化流程,推荐生产环境使用。关键要点包括:

  1. 提前准备所有必要资源并测试可用性
  2. 修改配置文件适应内网环境
  3. 严格按照操作步骤执行,注意版本兼容性
  4. 部署后进行全面功能验证

通过这套方案,企业用户可以在安全隔离的网络环境中高效管理Kafka集群,提升消息系统的可观测性和运维效率。

【免费下载链接】kafka-ui provectus/kafka-ui: Kafka-UI 是一个用于管理和监控Apache Kafka集群的开源Web UI工具,提供诸如主题管理、消费者组查看、生产者测试等功能,便于对Kafka集群进行日常运维工作。 【免费下载链接】kafka-ui 项目地址: https://gitcode.com/GitHub_Trending/ka/kafka-ui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值