由于与官网的安装文档差异较大。故写下此文章
1、官网自行下载:https://www.kafka-eagle.org/,以下以2.0.9为例子
2、解压安装包。解压完成之后,文件夹又有个压缩包,再解压,这个才是真正的程序。改名为efak-web。
3、解压完成之后,需要配置一下环境变量:
增加变量:KE_HOME。值为:D:toolefak-web
4、修改conf/system-config.properties,主要关注几个内容:
#kafka对应别名,以及对应的zookeeper地址,集群用,隔开 efak.zk.cluster.alias=cluster1 cluster1.zk.list=172.18.20.234:2181 #需要修改一下mysql配置 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
5、执行bin/ke.bat,启动服务。
6、默认用户密码是admin/123456。
遇到的问题:
1、提示’C:Program’ 不是内部或外部命令
原因:由于java环境是放在C:Program Files 下,若cmd执行命令,会在Program Files中间的空格断开。故需要改下ke.bat。
解决方案:将原本的%JAVA_HOME%去掉,直接替换成具体地址。并加上双引号。
改为下面样子
2、错误: 找不到或无法加载主类 org.smartloli.kafka.eagle.plugin.server.TomcatServerListen
原因:由于jar包的名称已经修改了,从bat脚本和实际的lib目录,可以看出根本就没有对应的kafka-eagle*.jar包。
解决方案:应改成对应的efak*.jar
3、文件名、目录名或卷标语法不正确。
原因:rd 删除命令。删除文件应用del命令
解决方案:改为del
在这里插入图片描述
4、ERROR [KafkaServiceImpl.Thread-16] - Telnet [DESKTOP-5RSJ8OR:-1] has error, msg is java.lang.IllegalArgumentException: port out of range:-1
ERROR [Mx4jServiceImpl.Thread-16] - JMX service url[DESKTOP-5RSJ8OR:-1] create has error,msg is java.lang.ClassCastException: java.io.IOException cannot be cast to javax.management.remote.JMXConnector
原因:kafka没有开启JMX
解决方案:kafka的bin/kafka-run-class文件增加JMX_PORT(下面为windows例子),然后重启kafka。
5、若zookeeper使用的是kafka内置的。还有一个问题。kafka启动的时候会提示端口被占用。这是因为内置zookeeper启动的时候,也会执行kafka-run-class,所以端口先行被zookeeper占用。
解决方案:故需要判断一下执行的命令是否是启动kafka的。需要对kafka-run-class下面内容做修改:
linux修改(未测试):
if [ $JMX_PORT ] && [ "$*" =~ "kafka.Kafka" ]; then KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT " fi
window修改:
echo ["%*%"] | findstr "kafka.Kafka" > nul &&( IF ["%JMX_PORT%"] NEQ [""] ( set KAFKA_JMX_OPTS=%KAFKA_JMX_OPTS% -Dcom.sun.management.jmxremote.port=%JMX_PORT%) )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)