kafka-eagle(/'iːg(ə)l/)是一款简单高效的监控系统,用以监控kafka的偏移量、元数据等信息,它还提供了邮件、钉钉、微信报警功能。本篇假设已经存在一个可用的kafka集群,并介绍kafka-eagle搭建与使用。
官网:https://www.kafka-eagle.org/
github:https://github.com/smartloli/kafka-eagle
前提准备
添加hosts
java项目老惯例,在/etc/hosts
文件添加本机ip和主机名。
java环境部署
# tar -xzf jdk-8u221-linux-x64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv jdk1.8.0_221 jdk
# cat > /etc/profile.d/jdk.sh <<eof
> #!/bin/bash
> export JAVA_HOME='/usr/local/jdk'
> if ! [[ "\$PATH" =~ "\${JAVA_HOME}/bin" ]];then
> export PATH="\${JAVA_HOME}/bin:\$PATH"
> fi
> eof
# source /etc/profile.d/jdk.sh
# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
配置机器可以出外网
maven
编译需要从外网下载各种扩展文件。
安装maven编译工具
# tar -xzf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv apache-maven-3.5.4 maven
# cat > /etc/profile.d/maven.sh <<eof
> #!/bin/bash
> export MAVEN_HOME='/usr/local/maven'
> if ! [[ "\$PATH" =~ "\${MAVEN_HOME}/bin" ]];then
> export PATH="\${MAVEN_HOME}/bin:\$PATH"
> fi
> eof
# source /etc/profile.d/maven.sh
# mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_221/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
安装kafka-eagle
编译kafka-eagle源码
# git clone https://github.com/smartloli/kafka-eagle.git
# cd kafka-eagle
# ./build.sh
这里遇到一个抛错:
...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project kafka-eagle-common: Compilation failure: Compilation failure:
[ERROR] /usr/local/src/kafka/kafka-eagle/kafka-eagle-common/src/main/java/org/smartloli/kafka/eagle/common/util/KafkaZKPoolUtils.java:[44,84] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator