【kafka】Kafka 可视化工具Kafka Eagle安装和使用

一、背景

Kafka产线环境需要管理的Topic和Consumser越来越多,使用命令行工具进行管理会非常繁杂。因此,大数据平台上需要一套Kafka的管理监控系统,Kafka-Eagle。

Kafka Eagle是一个用于监控和管理kafka的开源组件,可以同时监控多个kafka集群。

Kafka Eagle提供了完善的监控页面和kafka常用操作的管理界面,便于管理员对kafka集群进行运维管理。

Kafka Eagle提供了KSQL操作的可视化界面,让你可以非常快速的查看kafka中的消息。

Kafka Eagle支持多种报警方式,如钉钉,微信和邮件等。

二、安装

1. 安装MySQL,建库、建用户,授权

yum -y install https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

vim /etc/yum.repos.d/mysql-community.repo

设置 gpgcheck=0

注释 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

image.png

yum -y install mysql-community-server mysql-community-client

cat /etc/my.cnf


[mysqld]

pid-file  = /var/run/mysqld/mysqld.pid

socket  = /var/lib/mysql/mysql.sock

log-error  = /var/log/mysqld.log

datadir  = /var/lib/mysql

symbolic-links  = 0

max_connections = 1000

skip_name_resolve

character-set-client-handshake  = FALSE

character-set-server =  utf8

collation-server = utf8_general_ci

init_connect =  "SET NAMES 'utf8'"

[mysql]

default-character-set  = utf8

[client]

default-character-set  = utf8

初始化MySQL,可以通过执行 mysqld --initialize ,使用 --initialize 选项,以“安全模式”初始化,会在日志中生成一个随机的root初始密码。

mysqld --initialize --datadir=/opt/data/mysql --user=mysql

cat /var/log/mysqld.log | grep "temporary password"

mysql_init_passwd=cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}'

mysql -u root -p"${mysql_init_passwd}"

首次登录,必须更改随机的root初始密码,且密码强度需满足一定要求,才能执行数据库操作。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@123';

exit

image.png

mysql -u root -p"MySQL@123"


> CREATE DATABASE ke DEFAULT CHARACTER SET utf8 DEFAULT COLLATE  utf8_general_ci;

> GRANT ALL PRIVILEGES ON ke.* TO 'ke'@'127.0.0.1' IDENTIFIED BY 'Ke@123';

> flush privileges;

2. 安装kafka-eagle

下载 Kafka Eagle

https://github.com/smartloli/kafka-eagle-bin/archive/v2.1.0.tar.gz

tar -zxf kafka-eagle-bin-2.1.0.tar.gz

tar -zxf tar -zxf kafka-eagle-bin-2.1.0/efak-web-2.1.0-bin.tar.gz

mv efak-web-2.1.0 /opt/efak

vim /opt/efak/system-config.properties


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

# multi zookeeper & kafka cluster list

# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead

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

efak.zk.cluster.alias=cluster1

cluster1.zk.list=10.12.32.79:2189,10.12.32.80:2189,10.12.32.81:2189

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

# zookeeper enable acl

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

cluster1.zk.acl.enable=false

cluster1.zk.acl.schema=digest

cluster1.zk.acl.username=test

cluster1.zk.acl.password=test123

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

# broker size online list

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

cluster1.efak.broker.size=20

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

# zk client thread limit

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

kafka.zk.limit.size=16

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

# EFAK webui port

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

efak.webui.port=8048

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

# EFAK enable distributed

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

efak.distributed.enable=false

efak.cluster.mode.status=master

efak.worknode.master.host=localhost

efak.worknode.port=8085

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

# kafka jmx acl and ssl authenticate

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

cluster1.efak.jmx.acl=false

cluster1.efak.jmx.user=keadmin

cluster1.efak.jmx.password=keadmin123

cluster1.efak.jmx.ssl=false

cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore

cluster1.efak.jmx.truststore.password=ke123456

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

# kafka offset storage

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

cluster1.efak.offset.storage=kafka

#cluster2.efak.offset.storage=zk

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

# kafka jmx uri

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

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

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

# kafka metrics, 15 days by default

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

efak.metrics.charts=true

efak.metrics.retain=15

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

# kafka sql topic records max

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

efak.sql.topic.records.max=5000

efak.sql.topic.preview.records.max=10

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

# delete kafka topic token

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

efak.topic.token=keadmin

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

# kafka sasl authenticate

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

cluster1.efak.sasl.enable=false

cluster1.efak.sasl.protocol=SASL_PLAINTEXT

cluster1.efak.sasl.mechanism=SCRAM-SHA-256

cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";

cluster1.efak.sasl.client.id=

cluster1.efak.blacklist.topics=

cluster1.efak.sasl.cgroup.enable=false

cluster1.efak.sasl.cgroup.topics=

cluster2.efak.sasl.enable=false

cluster2.efak.sasl.protocol=SASL_PLAINTEXT

cluster2.efak.sasl.mechanism=PLAIN

cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";

cluster2.efak.sasl.client.id=

cluster2.efak.blacklist.topics=

cluster2.efak.sasl.cgroup.enable=false

cluster2.efak.sasl.cgroup.topics=

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

# kafka ssl authenticate

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

#cluster3.efak.ssl.enable=false

#cluster3.efak.ssl.protocol=SSL

#cluster3.efak.ssl.truststore.location=

#cluster3.efak.ssl.truststore.password=

#cluster3.efak.ssl.keystore.location=

#cluster3.efak.ssl.keystore.password=

#cluster3.efak.ssl.key.password=

#cluster3.efak.ssl.endpoint.identification.algorithm=https

#cluster3.efak.blacklist.topics=

#cluster3.efak.ssl.cgroup.enable=false

#cluster3.efak.ssl.cgroup.topics=

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

# kafka sqlite jdbc driver address

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

#efak.driver=org.sqlite.JDBC

#efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db

#efak.username=root

#efak.password=www.kafka-eagle.org

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

# kafka mysql jdbc driver address

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

efak.driver=com.mysql.cj.jdbc.Driver

efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

efak.username=ke

efak.password=Ke@123

设置Kafka Eagle环境变量

vim /etc/profile


#kafka eagle

KE_HOME=/opt/efak

JAVA_HOME=/opt/jdk

JRE_HOME=/opt/jdk/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$KE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export KE_HOME JAVA_HOME JRE_HOME PATH CLASSPATH

source /etc/profile

启动 Kafka Eagle

ke.sh start

image.png

ss -tan | grep 8048

systemctl stop firewalld

systemctl disable firewalld

三、Kafka Eagle 使用

浏览器访问: http://xx.xx.xx.xx:8048

默认用户名密码:admin/123456

image.png
image.png

四、参考

Kafka Eagle安装详情及问题解答

https://www.cnblogs.com/smartloli/p/12110570.html

各版本下载地址

http://www.kafka-eagle.org/articles/docs/changelog/changelog.html

安装使用文档

https://docs.kafka-eagle.org/2.env-and-install/2.installing

Dashboard

http://www.kafka-eagle.org/articles/docs/quickstart/dashboard.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容