使用docker-compose安装zk,kafka,kafka eagle一条龙

尽管之前,已使用docker安装过,但 感觉有个WEB UI,还是清新些~

这里有个小细节没有搞定,就是kafka启用rmi jmx给kafka eagle作监控性能之后,kafka-console-producer.sh --broker-list 192.168.1.111:9092 --topic test这些脚本就会报端口已被占用的问题,那我只好先屏蔽这个功能,这样就能用命令行来测试。
当然,也可以开端JMX端口,这样就只能用WEB UI来测试生产者和消费者了,权衡吧,如果有时间,把原理搞清楚,两边都能用起来,那就是最好的学习方案了。

docker-compose.yml文件内容

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zk
    restart: always
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    container_name: kfk
    restart: always
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
      # - "9998:9998"
    expose:
      - "9093"
    environment:
        KAFKA_BROKER_ID: 0
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.111:9092
        KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
        KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
        # KAFKA_JMX_OPTS: "-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.111 -Dcom.sun.management.jmxremote.rmi.port=9998"
        # JMX_PORT: 9998
        # KAFKA_CREATE_TOPICS: "test:1:1"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  kafka-eagle:
    image: gui66497/kafka_eagle
    container_name: ke
    restart: always
    depends_on:
      - kafka
    ports:
      - "8048:8048"
    environment:
      ZKSERVER: "zookeeper:2181"
    volumes:
      - ./system-config.properties:/kafka-eagle/conf/system-config.properties
      - ./logs:/kafka-eagle/logs

这里,docker-compose.yml还挂载了 个system-config.properties文件,内容如下:

######################################
# multi zookeeper&kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=zookeeper:2181

######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25

######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048

######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka

######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.sql.fix.error=false

######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000

######################################
# alarm email configure
######################################
kafka.eagle.mail.enable=false
[email protected]
[email protected]
kafka.eagle.mail.password=mq
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25

######################################
# alarm im configure
######################################
#kafka.eagle.im.dingding.enable=true
#kafka.eagle.im.dingding.url=https://oapi.dingtalk.com/robot/send?access_token=

#kafka.eagle.im.wechat.enable=true
#kafka.eagle.im.wechat.token=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxx&corpsecret=xxx
#kafka.eagle.im.wechat.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=
#kafka.eagle.im.wechat.touser=
#kafka.eagle.im.wechat.toparty=
#kafka.eagle.im.wechat.totag=
#kafka.eagle.im.wechat.agentid=

######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=admin

######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=PLAIN
cluster2.kafka.eagle.sasl.enable=false
cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster2.kafka.eagle.sasl.mechanism=PLAIN

######################################
# kafka jdbc driver address
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/kafka-eagle/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=root

访问http://192.168.1.111:8048/ke/,用户/密码:admin/123456,除了metric,其它都好好的呢~

2022-05-08 11_04_41-MessageCenterUI.png

你可能感兴趣的:(使用docker-compose安装zk,kafka,kafka eagle一条龙)