Docker安装Kafka(docker-compose)、EFAK监控

admin 2023年2月22日02:02:19评论106 views字数 3877阅读12分55秒阅读模式

安装Docker

Docker安装mysql EFAK监控面板会用到

EFAK监控面板

Docker安装Kafka(docker-compose)、EFAK监控

容器安装

1、kafka需要zookeeper管理,所以需要先安装zookeeper。(PS:2.8版本以后kafka-Kraft 模式不再依赖zk,目前别的很多组件都依赖zk注册,所以还是以zk举例)

2、下载zookeeper镜像

  1. $ docker pull wurstmeister/zookeeper$ docker pull wurstmeister/kafka

启动zk镜像生成容器

  1. docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper$ docker run ---restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2  --name zookeeper -2181:2181 -/etc/localtime:/etc/localtime wurstmeister/zookeeper

启动kafka镜像生成容器

  1. ## docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.16.0.13:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.16.0.13:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka$ docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.16.0.13:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.16.0.13:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

参数说明:

-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己

-e KAFKA_ZOOKEEPER_CONNECT=172.16.0.13:2181/kafka 配置zookeeper管理kafka的路径172.16.0.13:2181/kafka

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.16.0.13:9092 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口

-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

3、验证kafka是否可以使用

  1. $ docker exec -it kafka bash

进入 /opt/kafka_2.12-2.3.0/bin/ 目录下

  1. $ cd /opt/kafka_2.12-2.3.0/bin/

运行kafka生产者发送消息

  1. ./kafka-console-producer.sh --broker-list localhost:9092 --topic sun

发送消息

  1. > hello world

运行kafka消费者接收消息

  1. ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning

docker-compose

安装docker-compose

新建 /opt/mydocker/docker-compose.yml

  1. version: "2" services: #服务名,也可自定义 zookeeper: image: wurstmeister/zookeeper container_name: zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka container_name: kafka expose: - "9999" ports: - "9092:9092" - "9999:9999" environment: KAFKA_ADVERTISED_HOST_NAME: 192.168.233.129 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 JMX_PORT: 9999 #启用远程JMX 监控面板用 volumes:      - /var/run/docker.sock:/var/run/docker.sock
  1. docker-compose config -q # 检查配置,有问题才有输出,进入docker-compose.yml文件目录执行docker-compose up -d # 启动所有docker-compose服务并后台运行docker ps  # 查看容器

zookeeper查看节点

进入容器

  1. docker exec -it 容器id或容器name bashcd bin./zkCli.shls /

Docker安装Kafka(docker-compose)、EFAK监控

查看kafka集群节点

  1. ls /brokers/idsls /brokers/topics

Docker安装Kafka(docker-compose)、EFAK监控

安装EFAK

官网下载

EFAK V2.0.7 将 Kafka-Eagle 重命名为 EFAK(Eagle For Apache Kafka)

  1. tar -zxvf kafka-eagle-bin-2.0.7.tar.gztar -zxvf efak-web-2.0.7-bin.tar.gz -C /opt/module/mv efak-web-2.0.7/ efak

修改配置文件 /opt/module/efak/conf/system-config.properties

  1. # 第一处efak.zk.cluster.alias=cluster1cluster1.zk.list=192.168.233.129:2181

    # 第二处####################################### kafka offset storagecluster1.efak.offset.storage=kafka# cluster2.efak.offset.storage=zk

    # 第三处####################################### kafka sqlite jdbc driver address####################################### sqlite 和 mysql 都可以####################################### kafka mysql jdbc driver address######################################efak.driver=com.mysql.cj.jdbc.Driverefak.url=jdbc:mysql://192.168.233.129:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullefak.username=rootefak.password=123456

添加环境变量

  1. sudo vim /etc/profile.d/my_env.sh# kafkaEFAKexport KE_HOME=/opt/module/efakexport PATH=$PATH:$KE_HOME/bin
  1. source /etc/profile

先启动zk和kafka

  1. # 启动kafka-eaglebin/ke.sh start

Docker安装Kafka(docker-compose)、EFAK监控

记得开放端口

  1. #查看进程,启动失败控制台不会报错,只能去看日志 ps -ef|grep efak

遇到情况,内存不足。最少2个G内存。

Docker安装Kafka(docker-compose)、EFAK监控

容器编排启动时,Kafka命令行操作报错

Docker安装Kafka(docker-compose)、EFAK监控

进入/opt/kafka_2.13-2.8.1/bin

加一句:

  1. ISKAFKASERVER="false"if [[ "$*" =~ "kafka.Kafka" ]]; then ISKAFKASERVER="true"fi

改动这一行:

  1. if [  $JMX_PORT ] && [ -"$ISKAFKASERVER" ]; then

Docker安装Kafka(docker-compose)、EFAK监控


原文作者:鱼找水需要时间

原文链接:

https://blog.csdn.net/weixin_43847283/article/details/124650806

Docker安装Kafka(docker-compose)、EFAK监控

点击关注公众号,阅读更多精彩文章。














原文始发于微信公众号(OSC DevOps):Docker安装Kafka(docker-compose)、EFAK监控

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月22日02:02:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker安装Kafka(docker-compose)、EFAK监控https://cn-sec.com/archives/1563466.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息