kafkaEagle资源如下:
- 源码: https://github.com/smartloli/kafka-eagle/
- 官网:https://www.kafka-eagle.org/
- 下载: http://download.kafka-eagle.org/
- 安装文档: https://docs.kafka-eagle.org/2.env-and-install
下载地址:https://github.com/smartloli/kafka-eagle-bin/archive/v2.1.0.tar.gz
首先安装kafkaEagle之前,需要要依次安装启动好jdk、zookeeper、kafka,网上相关文章很多,就不在此啰嗦了!
说明安装成功!!!
首先我遇到的问题:
1.启动kafkaEagle是web页面显示不出来一直报404,查看kafkaEagle日志:
[2018-12-11 21:13:46,490] INFO Registered kafka:type=kafka.Log4jController MBean
(kafka.utils.Log4jControllerRegistration$)
[2018-12-11 21:13:46,998] ERROR Exiting Kafka due to fatal exception (kafka.Kafk
a$)
java.lang.VerifyError: Uninitialized object exists on backward branch 209
Exception Details:
Location:
scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immu
table/Seq; @249: goto
Reason:
Error exists in the bytecode
Bytecode:
0000000: 2ab6 0060 04a0 001e b200 b8b2 00bd 04bd
0000010: 0002 5903 2a53 c000 bfb6 00c3 b600 c7c0
......
0000170: b200 bd05 bd00 0259 0319 0b53 5904 190c
0000180: 53c0 00bf b600 c3b6 0102 b02a b600 3803
0000190: 32b6 0104 b0
Stackmap Table:
same_frame(@35)
full_frame(@141,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
114]},{})
append_frame(@151,Object[#134],Object[#134])
full_frame(@209,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
......
at scala.collection.generic.GenMapFactory.apply(GenMapFactory.scala:48)
at kafka.api.ApiVersion$.<init>(ApiVersion.scala:79)
at kafka.api.ApiVersion$.<clinit>(ApiVersion.scala)
at kafka.server.Defaults$.<init>(KafkaConfig.scala:142)
at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:752)
分析问题:
我们发现报的java.lang.VerifyErrro, 然后查阅相关文档https://docs.oracle.com/javase/7/docs/api/java/lang/VerifyError.html。 “hrown when the “verifier” detects that a class file, though well formed, contains some sort of internal inconsistency or security problem.” 从文档内容十有八九是jdk版本问题!版本太低!!!
解决方案:
卸载已经安装的jdk,安装高版本jdk(我换成了jdk-8u191-linux-x64.tar.gz),然后kafkaEagle的web页面成功显示了;
2.然后使用默认的admin/123456登录,但是但是又出现问题了,一登陆就报405,
错误信息:
SQLException: The server time zone value ‘EDT‘ is unrecognized or represents more than one time zone
原因是mysql时区问题,kafkaEagle我使用的是mysql,修改system-config.properties,添加&serverTimezone=GMT.
3.这下应该可以登录成功了吧,但是还是登不进去,通过看kafkaEagle的日志,如下:
上步说我用的是mysql,system-config.properties配置文件给的数据库名是ke,我手动通过navcat创建了ke数据库,但是没有表呀,网上有说是kafka版本太低,更换即可!
我没有更换,在网上找了kafka-eagle的sql脚本:在navcat中执行。
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ke_alarm_clusters
-- ----------------------------
DROP TABLE IF EXISTS `ke_alarm_clusters`;
CREATE TABLE `ke_alarm_clusters` (
`id` bigint NOT NULL AUTO_INCREMENT,
`type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`cluster` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`server` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`alarm_group` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`alarm_times` int NULL DEFAULT NULL,
`alarm_max_times` int NULL DEFAULT NULL,
`alarm_level` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`is_normal` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'Y',
`is_enable` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'Y',
`created` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT