案例:搭建 zookeeper + kafka 集群

ps:Docker Swarm 基本不用了奥,现在都用 K8S

version: '3.8'services:zoo1:image: zookeepernetworks:- zookeeper_kafkahostname: zoo1# 端口ports:- 2181:2181environment:ZOO_MY_ID: 1ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181volumes:- "/env/zk/zookeeper/conf1:/conf"- "/env/zk/zookeeper/data1:/data"- "/env/zk/zookeeper/datalog1:/datalog"deploy:mode: replicatedreplicas: 1zoo2:image: zookeepernetworks:- zookeeper_kafkahostname: zoo2# 端口ports: - 2182:2181environment:ZOO_MY_ID: 2ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181volumes:- "/env/zk/zookeeper/conf2:/conf"- "/env/zk/zookeeper/data2:/data"- "/env/zk/zookeeper/datalog2:/datalog"deploy:mode: replicatedreplicas: 1zoo3:image: zookeepernetworks:- zookeeper_kafkahostname: zoo3ports: # 端口- 2183:2181environment:ZOO_MY_ID: 3ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181volumes:- "/env/zk/zookeeper/conf3:/conf"- "/env/zk/zookeeper/data3:/data"- "/env/zk/zookeeper/datalog3:/datalog"deploy:mode: replicatedreplicas: 1 kafka1:image: wurstmeister/kafkadepends_on:- zoo1- zoo2- zoo3ports:- 9091:9092external_links:- zoo1- zoo2- zoo3hostname: kafka1environment:# 连接 zookeeper 集群KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181# brokerId 唯一KAFKA_BROKER_ID: 1# kafka 监听所有端口KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092# kafka默认只可以内网访问,也就是在 Docker 上创建的网络内部# 宿主机和 Java 客户端是访问不了的# 配置宿主机 IP 地址,不然宿主机访问不了KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://hadoop01:9091volumes:- "/env/zk/kafka/run1/docker.sock:/var/run/docker.sock"- "/env/zk/kafka/kafka1/:/kafka"networks:- zookeeper_kafkaextra_hosts:# 配置容器内宿主机映射- hadoop01:192.168.10.11kafka2:image: wurstmeister/kafkadepends_on:- zoo1- zoo2- zoo3ports:- 9092:9092external_links:- zoo1- zoo2- zoo3hostname: kafka2environment:KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181KAFKA_BROKER_ID: 2KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://hadoop01:9092volumes:- "/env/zk/kafka/run2/docker.sock:/var/run/docker.sock"- "/env/zk/kafka/kafka2/:/kafka"networks:- zookeeper_kafkaextra_hosts:- hadoop01:192.168.10.11kafka3:image: wurstmeister/kafkadepends_on:- zoo1- zoo2- zoo3ports:- 9093:9092external_links:- zoo1- zoo2- zoo3hostname: kafka3environment:KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181KAFKA_BROKER_ID: 3KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://hadoop01:9093volumes:- "/env/zk/kafka/run3/docker.sock:/var/run/docker.sock"- "/env/zk/kafka/kafka3/:/kafka"networks:- zookeeper_kafkaextra_hosts:- hadoop01:192.168.10.11kafka-manager:image: hlebalbau/kafka-managerports:- "9010:9000"depends_on:- zoo1- zoo2- zoo3environment:ZK_HOSTS: "zoo1:2181,zoo2:2181,zoo3:2181"APPLICATION_SECRET: "random-secret"networks:- zookeeper_kafkanetworks:zookeeper_kafka:driver: overlay
在宿主机建立好相应目录文件,然后执行
在宿主机建立好相应目录文件,然后执行
在宿主机建立好相应目录文件,然后执行
在宿主机建立好相应目录文件,然后执行
在宿主机建立好相应目录文件,然后执行
在宿主机建立好相应目录文件,然后执行
docker stack deploy -c filename.yml zk_kafka

运行实例:

显示失败是因为 docker 抽风,配置 kafka 依赖 zookeeper 它还是先启动了 kafka 导致 kafka 运行失败,服务会自动重启,这不重要,反正都会跑起来!

测试

进入 kafka 目录

cd opt/kafka/bin/

创建 topic

./kafka-topics.sh --create --zookeeper zoo1:2181 --partitions 2 --replication-factor 2 --topic first

查看 topic

./kafka-topics.sh --list --zookeeper zoo2:2181

开启 kafka 生产者客户端
注意看这两条命令 一个是 内网映射 一个是 外网映射 效果相同

./kafka-console-producer.sh --broker-list kafka1:9092 --topic first
./kafka-console-producer.sh --broker-list hadoop01:9091 --topic first

再开一个命令行
开启 kafka 消费者客户端
注意看这两条命令 一个是 内网映射 一个是 外网映射 效果相同

./kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic first --from-beginning
./kafka-console-consumer.sh --bootstrap-server hadoop01:9093 --topic first --from-beginning

四条命令任意配对,都可以生产消费

运行图


Docker 进阶(九)案例:Docker Swarm 搭建 zookeeper + kafka 集群相关推荐

  1. 搭建zookeeper+kafka集群

      搭建zookeeper+kafka集群 一.环境及准备 集群环境:   软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或 ...

  2. 使用Docker Swarm搭建分布式爬虫集群

    转载自  使用Docker Swarm搭建分布式爬虫集群 在爬虫开发过程中,你肯定遇到过需要把爬虫部署在多个服务器上面的情况.此时你是怎么操作的呢?逐一SSH登录每个服务器,使用git拉下代码,然后运 ...

  3. zookeeper + kafka集群搭建详解

    文章目录 一.消息队列介绍 1.1 为什么需要消息队列 (MO) 1.2 使用消息队列的好处 (1)解耦 (2)可恢复性 (3)缓冲 (4)灵活性 & 峰值处理能力 (5)异步通信很多时候,用 ...

  4. CDH大数据平台搭建之KAFKA集群搭建

    CDH大数据平台搭建之KAFKA集群搭建 一.安装规划 二.下载KAFKA 三.安装及配置 1.先安装zookeeper 2.解压 3.新建文件夹 4.修改config目录server.propert ...

  5. zookeeper+kafka集群部署+storm集群

    zookeeper+kafka集群部署+storm集群 一.环境安装前准备: 准备三台机器 操作系统:centos6.8 jdk:jdk-8u111-linux-x64.gz zookeeper:zo ...

  6. zookeeper+kafka集群安装之中的一个

    zookeeper+kafka集群安装之中的一个 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置例如以下: $ cat /etc/hosts ... # zookeeper host ...

  7. Zookeeper+Kafka集群搭建

    Zookeeper集群搭建 Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群. 1.软件环境 (3台服务器-我的测试) 192.168.30.204 server1 ...

  8. Zookeeper+kafka集群搭建,问题(zoo.cfg file is running,it‘s probably not running,option ‘UseCompressedOops‘)

    1. 下载Zookeeper 1.1 从Zookeeper官网选择对应版本下载,我这边是3.4.5,如下图. 1.2 将下载的压缩包拉到要安装集群主机的 /usr/local 目录(你也可以进入 /u ...

  9. kafka 集群_10分钟搭建单机Kafka集群

    单机版kafka集群有什么作用 练习上手用. 搭建zookeeper集群 首先下载zookeeper apache zookeeper官网 apache zookeeper下载地址 apache zo ...

最新文章

  1. js 获取浏览器url参数
  2. Linux/Unix好书推荐
  3. python用中文怎么说-python如何设置中文界面
  4. cbow word2vec 损失_Skip-gram和CBOW知识点
  5. Codis安装与部署
  6. openfaas cli 安装
  7. centos yum安装python2.7及常见报错处理
  8. ros 双wan配置_基于ROS搭建简易软件框架实现ROV水下目标跟踪(九)--程序解析之PWM波下发...
  9. java eav_动态自定义字段属性–Magento的EAV模型 | 学步园
  10. iOS 开发之解析url中的参数
  11. 客户端VS2010 Team Foundation Server中删除项目
  12. 关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码
  13. PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。
  14. php 判断是否在指定时间段范围内
  15. Prewitt和Sobel算子
  16. 【无人机】【2011.04】【含源码】四旋翼无人机的仿真与控制
  17. 台达变频器485通讯接线图_三菱PLC 与台达VFD-L 变频器通讯(RS485)程序
  18. Column ‘XXX‘ not found完美解决
  19. Emoji表情存入数据库报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F…'
  20. 折线图css,echarts实现折线图的代码(附图)

热门文章

  1. 如何在线生成字体图片?怎样进行艺术字体设计?
  2. Python爬虫实战之爬取豆瓣详情以及影评
  3. Educoder 分布式文件系统HDFS-通关答案
  4. The Difference of Looking for Job and Waiting for Job
  5. 机器学习中的隐变量/潜变量和隐藏空间/潜在空间
  6. CentOS系统下安装lsof及常见用法
  7. win远程桌面过一段时间模糊的原因
  8. Android技术架构演进与未来
  9. SD存储卡读写速度比较
  10. 20221224英语学习