【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

你可能感兴趣的:(【kafka】Kafka 可视化工具Kafka Eagle安装和使用)