kafka eagle 相关问题记录

kafka eagle 安装部署问题

kafka eagle版本2.0.5

无法获取Topic Capacity

# 日志报错
ERROR - Get topic capacity has error, msg is 
 java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
	at java.util.regex.Matcher.reset(Matcher.java:309)
	at java.util.regex.Matcher.<init>(Matcher.java:229)
	at java.util.regex.Pattern.matcher(Pattern.java:1093)
	at java.util.Formatter.parse(Formatter.java:2547)
	at java.util.Formatter.format(Formatter.java:2501)
	at java.util.Formatter.format(Formatter.java:2455)
	at java.lang.String.format(String.java:2940)
	at org.smartloli.kafka.eagle.core.metrics.KafkaMetricsServiceImpl.topicCapacity(KafkaMetricsServiceImpl.java:303)
	at org.smartloli.kafka.eagle.web.quartz.TopicRankSubTask$CapacityStatsSubThread.topicCapacityStats(TopicRankSubTask.java:368)

如果确定kafka broker开启了jmx,报这个错是因为配置文件里未配置该参数

# system-config.properties
clusterX.kafka.eagle.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi

多说一句,上面这个问题,我查看并调测了kafka eagle源码,发现kafka eagle获取topic capacity有两种方法:
第一种方法:通过客户端的一些api,获取到的是human-readable的值,也就是带单位转换的值;
第二针方法:通过broker jmx获取到原始值,也即不带转换的。

通过调测,发现kafka eagle是用第二种方法。第一种方法在代码调测过程中发现使用的zookeeper版本(kafka eagle2.0.5使用的是zk3.7.0)必须与kafka集群所用zk版本一致(我们的zk版本3.4.14),才能获取到值。

// 删减了部分代码
public interface KafkaMetricsService {

	/** Get topic size by adminclient and convert unit, such TB, GB ,MB etc. */  //这块注释有点问题
	public JSONObject topicKafkaCapacity(String clusterAlias, String topic);

	/** Get topic size by jmx no convert . */
	public long topicCapacity(String clusterAlias, String topic) throws Exception;
}

直接更换kafka eagle依赖jar包不生效问题

如果直接替换kafka eagle目录下kms/webapps/ke/WEB-INF/lib下的jar包,你会发现没效果。细心一点的话,会发现你更换的jar包又被还原了。

这是因为kafka eagle每次重启都会从ke.war重新解压,重新安装部署。所以如果需要更换jar包,需要修改ke.war。

第一种办法是,本地修改后,重新上传。但ke.war包比较大,上传下载是很麻烦的。

第二种办法是,直接在服务器修改。通过jar命令

# 第一步:解压
jar xvf ke.war
# 第二步:替换你要更换的jar包
cd WEB-INF/lib , rm xxx.jar , rz xxx.jar
# 第三步:找到你更换的jar包路径
jar uvf ke.war WEB-INF/lib/xxx.jar

针对kafka-eagle,其实上面的第一步还可以这么做:

# 因为ke目录下其实就是ke.war的解压结果。直接把ke.war挪到ke目录下,然后再运行上面的二三步。最后再把ke.war挪回去。
mv ke.war ke
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值