1.概述
最近有同学留言,关于Kafka Eagle的一些使用问题。今天笔者就为大家来详细介绍Kafka Eagle 3.0.1的功能以及使用方法。
2.内容
在3.0.1版本中,EFAK优化了分布式模式的服务性能,减少了磁盘IO和网络IO的操作次数,提升了内存和CPU的使用率。下面,我们就来看看3.0.1的相关功能。
2.1 基础环境
部署EFAK所需要的基础环境如下:
2.2.1 硬件和操作系统
- 操作系统:Linux系统即可(Ubuntu、CentOS等)
- JDK:JDK8以上
- CPU:1核以上
- 内存:2GB以上
2.2.2 EFAK安装包
EFAK安装包,目前官网上以及发布了最新的v3.0.1版本,支持分布式模式部署。可以直接下载到Linux服务器进行安装和部署使用。如果需要自行编译部署,可以到Github下载源代码进行编译部署:
- 方式一:官网下载v2.0.9安装包
- 方式二:Github下载源代码,参考README说明进行编译
2.2 安装部署
2.2.3 配置EFAK系统文件
cd ${KE_HOME}/conf vi system-config.properties # Multi zookeeper&kafka cluster list -- The client connection address of the Zookeeper cluster is set here efak.zk.cluster.alias=cluster1,cluster2 cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181 cluster2.zk.list=xdn1:2181,xdn2:2181,xdn3:2181 # Add zookeeper acl cluster1.zk.acl.enable=false cluster1.zk.acl.schema=digest cluster1.zk.acl.username=test cluster1.zk.acl.password=test123 # Kafka broker nodes online list cluster1.efak.broker.size=10 cluster2.efak.broker.size=20 # Zkcli limit -- Zookeeper cluster allows the number of clients to connect to # If you enable distributed mode, you can set value to 4 or 8 kafka.zk.limit.size=16 # EFAK webui port -- WebConsole port access address efak.webui.port=8048 ###################################### # EFAK enable distributed ###################################### efak.distributed.enable=false # master worknode set status to master, other node set status to slave efak.cluster.mode.status=slave # deploy efak server address efak.worknode.master.host=localhost efak.worknode.port=8085 # Kafka offset storage -- Offset stored in a Kafka cluster, if stored in the zookeeper, you can not use this option cluster1.efak.offset.storage=kafka cluster2.efak.offset.storage=kafka # Whether the Kafka performance monitoring diagram is enabled efak.metrics.charts=false # EFAK keeps data for 30 days by default efak.metrics.retain=30 # If offset is out of range occurs, enable this property -- Only suitable for kafka sql efak.sql.fix.error=false efak.sql.topic.records.max=5000 # Delete kafka topic token -- Set to delete the topic token, so that administrators can have the right to delete 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="admin" password="admin-secret"; # If not set, the value can be empty cluster1.efak.sasl.client.id= # Add kafka cluster cgroups cluster1.efak.sasl.cgroup.enable=false cluster1.efak.sasl.cgroup.topics=kafka_ads01,kafka_ads02 cluster2.efak.sasl.enable=true 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="admin" password="admin-secret"; cluster2.efak.sasl.client.id= cluster2.efak.sasl.cgroup.enable=false cluster2.efak.sasl.cgroup.topics=kafka_ads03,kafka_ads04 # Default use sqlite to store data efak.driver=org.sqlite.JDBC # It is important to note that the '/hadoop/kafka-eagle/db' path must be exist. efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db efak.username=root efak.password=smartloli # (Optional) set mysql address #efak.driver=com.mysql.jdbc.Driver #efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #efak.username=root #efak.password=smartloli
09-25 21:27