(十五)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个EFAK服务平台管理kafka集群

Posted 北溟溟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(十五)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个EFAK服务平台管理kafka集群相关的知识,希望对你有一定的参考价值。

前言

本节内容我们主要是介绍一下关于kafka集群的一个视图界面管理平台的搭建,便于kafka集群的一些基本信息的监控,能够直观的看到kafka的一些工作信息。话不多说,开始使用我们的kubesphere平台搭建k8s环境下的kafka集群管理平台EFAK。

正文

  • 创建efak配置文件

-点击配置中心-配置-创建-填写efak配置基本信息 ,点击下一步

-点击添加数据

-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=app-zk.app:2181/kafka

######################################
# 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=root
#efak.password=123456

ps:需要修改的几处配置说明,其它配置的修改根据实际情况参考官方说明修改,一般选择默认就好

#1.此处配置zk的集群,可配置多个,这里以一个为例
efak.zk.cluster.alias=cluster1

#2.此处配置zookeeper集群的地址,填写zookeeper客户端访问的集群地址
cluster1.zk.list=app-zk.app:2181/kafka

#3.关于数据库的连接,我们为了简单演示直接选择sqlite数据库,将此部分注解打开
#如果需要使用mysql数据库,可根据实际情况填写mysql的数据库配置,将sqlite数据库的注解关闭

######################################
# 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=root
#efak.password=123456

-填写efak配置信息,点击对号

-点击创建,完成efak配置文件的创建

  •  部署一个无状态的efak服务

-点击应用负载-服务-创建-无状态服务-填写基本信息-点击下一步

-点击添加容器镜像 ,填写ydockerp/efak:2.1.0镜像,加载efak镜像,点击使用默认端口,勾选同步主机时区,点击对号,点击下一步

-点击挂载配置文件或密钥,关联efak配置文件,填写基本配置信息

 -勾选选择特定的键和路径,填写配置文件映射,点对号添加,点击下一步

-勾选外网访问,NodePort方式访问,点击创建

 -完成efak服务创建

  • 验证 

-查看服务日志

 -通过外网端口访问该服务,端口30537

-输入用户名(admin)和密码(123456),登录efak

-监控页面

结语

至此,关于kafka的管理工具efak搭建到此就结束了,创作不易,欢迎一键三连,关注、收藏加点赞。我们下期见。。。

以上是关于(十五)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个EFAK服务平台管理kafka集群的主要内容,如果未能解决你的问题,请参考以下文章

手把手从零开始搭建k8s集群超详细教程

从零开始搭建k8s集群——使用KubeSphere管理平台搭建链路追踪组件zipkin服务端

从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个高可用的zookeeper集群服务

(四)从零开始搭建k8s集群—— 使用KubeKey一键式搭建高可用k8s集群

(九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建流控组件sentinel服务端

(十八)从零开始搭建k8s集群——使用KubeSphere管理平台搭建logstash服务