Kafka Eagle 安装教程

目录

前言

一、安装前的准备

[1. 系统要求](#1. 系统要求)

[2. 安装 JDK](#2. 安装 JDK)

[3. 安装 Kafka 和 Zookeeper](#3. 安装 Kafka 和 Zookeeper)

[4. MySQL 环境准备](#4. MySQL 环境准备)

[二、下载并安装 Kafka Eagle](#二、下载并安装 Kafka Eagle)

[三、配置 Kafka Eagle](#三、配置 Kafka Eagle)

[1. 编辑配置文件](#1. 编辑配置文件)

[2. 配置 Kafka 和 Zookeeper 信息](#2. 配置 Kafka 和 Zookeeper 信息)

[四、启动 Kafka Eagle](#四、启动 Kafka Eagle)

[五、访问 Kafka Eagle](#五、访问 Kafka Eagle)

六、测试功能

七、总结


前言

Kafka Eagle 是一款开源的 Kafka 管理和监控工具,可以帮助用户管理 Kafka 集群、监控集群状态、管理 Topic、消费组等信息。本文将详细介绍如何在 Linux 系统上安装和配置 Kafka Eagle。

一、安装前的准备

1. 系统要求

  • 操作系统:本文以 CentOS 7 为例,其他 Linux 系统安装步骤类似。
  • Java 环境:Kafka Eagle 依赖 Java 环境,需要安装 JDK。
  • Kafka 环境:确保 Kafka 和 Zookeeper 已正确安装并运行。

2. 安装 JDK

Kafka Eagle 依赖 Java 运行环境,以下是安装 JDK 的步骤:

  1. 检查是否安装 JDK:java -version
  2. 如果没有安装,自行安装 JDK。

3. 安装 Kafka 和 Zookeeper

Kafka Eagle 依赖于 Kafka 和 Zookeeper 进行数据的管理和监控,请确保已正确安装并运行 Kafka 和 Zookeeper。如果尚未安装,可以参考 Kafka 和 Zookeeper 的安装教程。

修改Kafka的kafka-server-start.sh文件:

复制代码
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
 export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
 export JMX_PORT="9999"
 #export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

# 注意:修改之后在启动 Kafka 之前要分发之其他节点
xsync.sh kafka-server-start.sh

4. MySQL 环境准备

Kafka-Eagle 的安装依赖于 MySQL,MySQL 主要用来存储可视化展示的数据。如果集群中之前安装过 MySQL 可以跨过该步。

二、下载并安装 Kafka Eagle

  1. 进入 Kafka Eagle 官方 GitHub 页面:Kafka Eagle GitHub

  2. 下载最新版本的 Kafka Eagle(例如 2.1.0 版本)。

  3. 解压文件:

    复制代码
    cd /opt/moudles
    tar -zxvf kafka-eagle-bin-2.0.8.tar.gz
    # 将 efak-web-2.0.8-bin.tar.gz 解压至/opt/installs
    cd kafka-eagle-bin-2.0.8
    tar -zxvf efak-web-2.0.8-bin.tar.gz -C /opt/installs/ 
  4. 修改名称:

    复制代码
    mv efak-web-2.0.8/ efak 

三、配置 Kafka Eagle

Kafka Eagle 的配置文件位于 conf/system-config.properties,我们需要修改此文件以完成配置。

1. 编辑配置文件

使用文本编辑器打开配置文件:

复制代码
vi /opt/install/efak/conf/system-config.properties

2. 配置 Kafka 和 Zookeeper 信息

找到以下配置项,并进行修改:

  • 配置 Zookeeper 连接

    复制代码
    efak.zk.cluster.alias=cluster1,cluster2
    cluster1.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
    cluster2.zk.list=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
  • 配置 Kafka 集群名称

    复制代码
    # offset 保存在 kafka 
    cluster1.efak.offset.storage=kafka
  • MySQL 数据库配置:Kafka Eagle 支持将监控数据存储到 MySQL 中。(需要提前MySQL数据库中创建数据库ke)

    复制代码
    # 修改数据库连接:&serverTimezone=GMT  时区一定要写,否则报405错误!
    # 127.0.0.1 = localhost   hosts文件中定义的
    efak.driver=com.mysql.cj.jdbc.Driver
    efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT
    efak.username=root
    efak.password=123456
  • 其他配置项:添加环境变量

    kafkaEFAK

    export KE_HOME=/opt/installs/efak
    export PATH=PATH:KE_HOME/bin

    source /etc/profile

四、启动 Kafka Eagle

进入 Kafka Eagle 的安装目录,并启动服务:

  1. 切换到安装目录:

    复制代码
    /opt/installs/efak
  2. 启动 Kafka Eagle:

    复制代码
    # 启动之前先启动Kafka和Zookeeper
    zk.sh start
    kf.sh start
    
    # 由于之前配置环境变量,也可以ke.sh start
    bin/ke.sh start
  3. 停止 Kafka Eagle:

    复制代码
    # 停止 efak,执行命令
    bin/ke.sh stop

五、访问 Kafka Eagle

Kafka Eagle 默认运行在 8048 端口上,打开浏览器,访问以下地址:

复制代码
http://<服务器IP>:8048

首次访问会要求输入默认账户和密码:

  • 用户名:admin
  • 密码:admin123

六、测试功能

进入 Kafka Eagle 后,可以在界面中查看 Kafka 集群的状态、Topic、消费组等信息。Kafka Eagle 提供了图形化界面,可以直观地管理 Kafka 集群,包括:

  • Topic 和分区管理
  • 消费者组状态查看
  • 消息延迟监控
  • 集群健康状态监控

七、总结

至此,Kafka Eagle 已成功安装并配置完毕。使用 Kafka Eagle 可以更加方便地管理和监控 Kafka 集群,为运维和开发人员提供了极大的便利。

相关推荐
数据智能老司机7 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机7 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
数据智能老司机8 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记8 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
州周10 小时前
kafka副本同步时HW和LEO
分布式·kafka
爱的叹息12 小时前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql
程序媛学姐12 小时前
SpringKafka错误处理:重试机制与死信队列
java·开发语言·spring·kafka
千层冷面12 小时前
RabbitMQ 发送者确认机制详解
分布式·rabbitmq·ruby
ChinaRainbowSea12 小时前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
敖正炀13 小时前
基于RocketMQ的可靠消息最终一致性分布式事务解决方案
分布式