window
环境变量配置
分别在 path 和 KE_HOME 配置环境变量
KE_HOME=D:\kafka-eagle\kafka-eagle-web-1.3.7
Path=%KE_HOME%\bin
下载 Kafka eagle
这两个都可以,一个是官网下载,一个是 GitHub 下载
- http://download.kafka-eagle.org/
- https://github.com/smartloli/kafka-eagle/releases
配置 Kafka eagle 的 system-config.properties
######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
# 单点操作,如需集群操作按cluster2
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
######################################
# 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=25
######################################
# 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
# db链接改成自己的
######################################
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=root
efak.password=123456
创建空数据库,设置时区
数据库名:ke
设置时区:set GLOBAL time_zone=‘+8:00’;
centos7
暂无
启动
- 启动 Zookeeper
- 启动 Kafka 服务
- Windows点击bin\ke.bat启动 Web 监控服务,输入:http://localhost:8048/ke/
- 进入之后先显示一个登录页面
用户名默认:admin
密码:123456
登录完成后显示如下图所示【此处用v1.3.7版本图片,和v3.0.1内容都一样就是ui不一样】:
到此登录成功
页面标识
-
Kafka 集群节点个数
-
主题,个数为3
-
Zookeeper 集群
-
消费者组
-
内存占比情况
-
主题消费数据大小
-
主题容量
-
Kafka 集群
测试
window
- 进入kafka解压目录下的kafka_2.12-3.1.0\kafka\bin\windows
- 鼠标移至空白处,按住shift建点击鼠标右键打开cmd或者powershell
topic操作
- 创建topic名为test 的topic
.\kafka-topics.bat --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test
- 查看topic列表
.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
- 删除topic名为test 的topic
.\kafka-topics.bat --delete --bootstrap-server 127.0.0.1:9092 --topic test
发送消息
启动一个终端作为消息生产者,执行下面命令
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
消费消息
现在管道中已经有了数据,接下来我就可以使用消费者去读取数据。
另外启动一个终端作为消费者,执行下面命令,
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
可以看到,消息消费者一直处于监听状态,每当在终端A输入一条消息,终端B也会更新一条消息。
问题
- 如果启动kafka出现闪退或者启动不了,需要清空下面三个目录里面的文件,再重新启动zookeeper和kafka
- 数据库只创建空库,设置时区