docker部署kafka,外网可访问

1.拉取镜像

拉取zookeeper镜像

docker pull wurstmeister/zookeeper  

拉取kafka镜像

docker pull wurstmeister/kafka  

2. 启动容器

启动zookeeper

docker run -d --name zookeeper -p 2181 :2181 -t wurstmeister/zookeeper  

启动kafka

docker run  -d --name kafka  -p 9092:9092  --link zookeeper  -e KAFKA_BROKER_ID=0  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181  -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://139.226.179.239:9092  -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka 

3. kafka启动参数说明

–link 用于容器直接的互通。
-e KAFKA_BROKER_ID=0 一个 kafka节点 就是一个 broker。一个集群由多个 broker 组成。一个 broker可以容纳多个 topic
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 配置zookeeper管理kafka的路径
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://139.226.179.239:9092 把kafka的地址端口注册给zookeeper,若远程访问要改成外网IP,千万注意是外网IP,很多文章只说是宿主机IP, 演示例子上写的是内网IP,很容易被误导
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

4.测试

创建topic

进入kafka容器

docker exec -it kafka /bin/bash

进入目录

 cd opt/kafka_2.12-2.4.0/

创建测试topic

./bin/kafka-topics.sh --create  --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test-topic

生产者发布

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

在这里插入图片描述

本地消费者订阅

 ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092  --topic test-topic

在这里插入图片描述

java程序远程消费者客户端订阅

在这里插入图片描述

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值