官网地址:EFAK
环境部署
JDK1.8:https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.tar.gz kafka-eagle3.0.1:https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz
mysql5.7或8.0 :脚本
脚本(注意不要把efak,mysql与kafka放在一个服务器上)
#!/bin/bash
##################### 准备工作 #####################
#1.服务器直接下载包可能会很慢,建议下载到本地后上传至服务器
#2.可自定义安装包存放目录
#3.注意修改IP地址&&
#4.配置文件根据自己情况改
#5.根据需求增添ip和主机名(修改完后重启)
#安装包目录mydir,即执行脚本的当前目录
mydir=$(cd "$(dirname "$0")";pwd)
echo $mydir
#efak&&jdk存放目录
efak=/opt
jdk=/usr
#更改IP
ip1=192.168.0.208
ip2=192.168.0.210
ip3=192.168.0.91
mysqlip=192.168.0.226
#主机名
hostname1=node2
hostname2=node3
hostname3=node4
#更改主机名&&配置hosts文件
sed -i -e '$a # \n'$ip1' '$hostname1' \n'$ip2' '$hostname2' \n'$ip3' '$hostname3'' /etc/hosts
######################################################################################
#解压
tar -zxvf $mydir/jdk-8u221-linux-x64.tar.gz -C $jdk
#修改/etc/profile&&重启配置
sed -i '$a # \nexport JAVA_HOME='$jdk'/jdk1.8.0_221 \nexport PATH=$PATH:$JAVA_HOME/bin' /etc/profile
source /etc/profile
#解压
tar -zxvf $mydir/kafka-eagle-bin-3.0.1.tar.gz
tar -zxvf $mydir/kafka-eagle-bin-3.0.1/efak-web-3.0.1-bin.tar.gz -C $efak
echo "修改/etc/profile&&重启配置"
sed -i '$a # \nexport KE_HOME='$efak'/efak-web-3.0.1 \nexport PATH=$PATH:$KE_HOME/bin' /etc/profile
source /etc/profile
chmod +x $efak/efak-web-3.0.1/bin/ke.sh
mv $efak/efak-web-3.0.1/conf/system-config.properties $efak/efak-web-3.0.1/conf/system-config.properties.txt
echo "编辑efak配置文件"
cat << EOF >> $efak/efak-web-3.0.1/conf/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=node2:2181,node3:2181,node4:2181/myKafka
###################################
# zookeeper enable acl
######################################
cluster1.zk.acl.enable=false
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=admin
cluster1.zk.acl.password=admin
######################################
# 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=true
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=PLAIN
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.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://$mysqlip:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=123Asd
EOF
echo"启动efak的脚本"
$efak/efak-web-3.0.1/bin/ke.sh start