Docker安装常用软件-Kafka集群

该文详细介绍了如何使用Docker快速部署Zookeeper和Kafka集群,包括拉取镜像、设置容器参数以及验证Kafka的正常工作。通过部署三个broker并配置相应的环境变量,确保了集群的运行。最后,还提到了部署Kafka管理平台kafka-manager的步骤。
摘要由CSDN通过智能技术生成

零、为了方便开发调试,使用kafka部署一套kafka环境,进行功能调试,方便快捷

一、部署zookeeper

1、下载镜像

docker pull wurstmeister/zookeeper 

2、运行zookeeper镜像

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

备注:/etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

启动后可以通过docker -ps 查看容器状态

二、搭建kafka

1、拉取镜像

docker pull wurstmeister/kafka

2、部署三个broker

2.1命名为:kafka0  端口:9092  brokerId: 0

docker run -d --name kafka0 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.131.121:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.131.121:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime -t wurstmeister/kafka

2.2命名为:kafka1  端口:9093  brokerId: 1

docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.131.121:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.131.121:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -v /etc/localtime:/etc/localtime -t wurstmeister/kafka

2.3命名为:kafka2  端口:9094  brokerId: 2

docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.131.121:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.131.121:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -v /etc/localtime:/etc/localtime -t wurstmeister/kafka

参数说明:

-e KAFKA_BROKER_ID=0  在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=192.168.131.121:2181/kafka 配置zookeeper管理kafka的路径192.168.131.121:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.131.121:9092  把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
 

三、验证kafka可用

 1、进入容器

docker exec -it kafka0 bash  和 docker exec -it kafka1 bash

2、进入 /opt/kafka_2.13-2.8.1/bin/ 目录下

cd /opt/kafka_2.13-2.8.1/bin/

3、运行kafka生产者发送消息

 ./kafka-console-producer.sh --broker-list 192.168.131.121:9092,192.168.131.121:9093,192.168.131.121:9094 --topic sun

发送消息
> {"datas":[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}
>111
>222

4、运行kafka消费者接收消息

 ./kafka-console-consumer.sh --bootstrap-server 192.168.131.121:9092,192.168.131.121:9093,192.168.131.121:9094 --topic sun --from-beginning

 {"datas":[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}
111
222

四、docker部署kafka管理平台

1、下载镜像

docker pull hlebalbau/kafka-manager

2、创建文件夹 \kafka\kafka-manager\docker-compose.yml

version: '2'
services:
  kafka-manager:
    image: sheepkiller/kafka-manager            
    environment:
      ZK_HOSTS:  192.168.131.121:2181
      APPLICATION_SECRET: "letmein"
    ports:
      - "39000:9000"
    expose:
      - "9000"

3、启动docker命令

docker-compose up -d

4、启动界面如下

 5、注意,第一次进入页面不会自动同步cluster,需要手动输入zookeeper地址

进入cluster就可以查看到topic和broker了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker安装kafka-eagle和kafka,你可以按照以下步骤进行操作: 1. 首先,克隆kafka-eagle的GitHub仓库并进入该目录: ``` mkdir /opt/kafka & cd git clone https://github.com/nick-zh/docker-kafka-eagle.git cd docker-kafka-eagle ```\[1\] 2. 接下来,使用docker-compose来安装kafka-eagle和kafka。你可以在docker-compose.yml文件中配置kafkakafka-eagle的相关参数,然后运行以下命令启动容器: ``` docker-compose up -d ```\[2\] 3. 等待一段时间,容器将会启动并运行kafkakafka-eagle。 现在,你已经成功在Docker安装kafka-eagle和kafka。你可以通过访问kafka-eagle的Web界面来监控和管理kafka集群。请确保你已经按照上述步骤正确配置了docker-compose.yml文件中的参数。\[3\] #### 引用[.reference_title] - *1* *2* [利用docker安装kafkakafka-eagle](https://blog.csdn.net/weixin_43848469/article/details/124505415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [(一)docker镜像制作案例——关于kafka-eagle-2.0.8(EFAK)版本的kafka管理工具实现镜像制作及发布](https://blog.csdn.net/yprufeng/article/details/121236167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值