kafka eagle(EFAK)的介绍和保姆级安装教程

915 阅读2分钟

本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

本文主要介绍 Apache 和 CDH 平台下 kafka eagle 的安装配置教程,Cloudera CDP 平台可以选择自带的 SMM,也可以像 CDH 一样配置 kafka eagle(推荐)。

简介

kafka eagle(英文 kafka 鹰,又名 EFAK) 是一款由国内公司开源的 Kafka 集群监控系统,可以用来监视 kafka 集群的 broker 状态、Topic 信息、IO、内存、consumer 线程、偏移量等信息,并进行可视化图表展示。独特的 KQL 还可以通过 SQL 在线查询 kafka 中的数据。


官网地址 www.kafka-eagle.org/
github 地址:github.com/smartloli/E…

下载

下载地址 download.kafka-eagle.org/

本文安装的是 3.0.1 版本,支持 Kafka 版本 0.8,0.9.x,0.10.x,0.11.x,1.x,2.x

wget https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz

安装

解压两次
tar -zvxf v3.0.1.tar.gz 

cd kafka-eagle-bin-3.0.1/ 
tar -zxvf kafka-eagle-web-3.0.1-bin.tar.gz -C /opt/bd/
cd ../
mv kafka-eagle-web-3.0.1 kafka-eagle

创建 mysql 数据库 ke 用来储存元数据
MySQL > create database ke;

设置环境变量
vim /etc/profile
export KE_HOME=/opt/bd/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
source  /etc/profile

基本设置

修改配置文件

cd ${KE_HOME}/conf
vim system-config.properties

配置 zookeeper 地址

kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181/kafka

重要提示

  • 此处示例的 kafka 是 2.4 版本 所以 zookeeper 地址后加上 /kafka, 如果不清楚版本,建议复制 kafka 配置文件的 zookeeper 配置 (CDH6.3.x 及以下不需要加)
  • mysql 8.0 在 2.0.x 版本使用中会有问题

配置 Mysql

注释掉 sqlite jdbc driver address 修改 mysql jdbc driver address 改成自己的 MySQL 密码

kafka.eagle.driver=com.mysql.cj.jdbc.Driver
kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#Mysql密码
kafka.eagle.username=root
kafka.eagle.password=123456

开启 JMX 监控

eagle 通过 jmx 收集一些指标,在使用 jmx 之前需要确保 kafka 开启了 jmx 监控

Apache 版本:

开启方法 1:kafka 启动时要添加 JMX_PORT=9999

开启方法 2:vim bin/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"
fi

CDH

修改每个 broker 节点的 broker_java_opts:

-server -XX:+UseG1GC   -XX:MaxGCPauseMillis=20   -XX:InitiatingHeapOccupancyPercent=35   -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50   -XX:MaxMetaspaceFreeRatio=80   -XX:+DisableExplicitGC   -Djava.awt.headless=true   -Djava.net.preferIPv4Stack=true   -Dcom.sun.management.jmxremote=true

其他可选设置 (普通用户忽略,保持默认即可)

配置项默认值解释
kafka.eagle.sql.fix.errorfalsekafka sql 查询失败是否允许自动修复
cluster1.zk.listke01:2181,ke02:2181,ke03:2181/cluster1zookeeper 集群地址.
kafka.zk.limit.size25eagle 连接 Zookeeper 的最大 client 数.
cluster1.kafka.eagle.broker.size10Kafka broker size online list.
kafka.eagle.webui.port8048Kafka Eagle webui 端口.
cluster1.kafka.eagle.offset.storagekafkaKafka 消费者 offsets 存储位置 kafka.0.10 前版本是 zookeeper
kafka.eagle.sql.topic.records.max5000Kafka Eagle SQL 每次查询的最大记录数
  • 如果 Kafka 开启了安全认证如则需要修改 sasl 设置
cluster1.kafka.eagle.sasl.enable=true
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=GSSAPI
cluster1.kafka.eagle.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka_client.keytab" principal="kafka-eagle.org@EXAMPLE.COM";
# make sure there is a local ticket cache "klist -l" to view
# cluster1.kafka.eagle.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true renewTicket=true service;
# if your kafka cluster doesn't require it, you don't need to set it up
# cluster1.kafka.eagle.sasl.client.id=

  • 如果开启了 zookeeper acl 认证 需要修改以下配置
# Add zookeeper acl
cluster1.zk.acl.enable=true
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=test
cluster1.zk.acl.password=test123

  • kafka 如果开启了 acl ssl 需要修改配置
######################################
# kafka jmx acl and ssl authenticate
######################################
cluster1.kafka.eagle.jmx.acl=true
cluster1.kafka.eagle.jmx.user=keadmin
cluster1.kafka.eagle.jmx.password=keadmin123
cluster1.kafka.eagle.jmx.ssl=false
cluster1.kafka.eagle.jmx.truststore.location=/Users/dengjie/workspace/ssl/certificates/kafka.truststore
cluster1.kafka.eagle.jmx.truststore.password=ke123456

######################################



kafka jmx uri(建议保持默认)

cluster1.kafka.eagle.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi

启动

$KE_HOME/bin/ke.sh start

进度条 100% 后会出现启动成功界面,端口默认 8048

输入密码 admin/123456 登录即可

其他命令

$KE_HOME/bin/ke.sh [start|status|stop|restart|stats] 

TIP

可以设置域名让浏览器缓存 js 文件,大大提高加载速度。

参考资料

www.kafka-eagle.org

本文发自 csdn,尊重原创,转载请先经过许可