主机三台
172.16.100.61
172.16.100.62
172.16.100.63
Docker 版本 当前最新版

# 部署zk有2种方法

## 注意 \后不要跟空格

一 . 端口映射

172.16.100.61 执行

docker run -tid --name=zk- \
--restart=always \
--privileged=true \
-p : \
-p : \
-p : \
-e ZOO_MY_ID= \
-e ZOO_SERVERS=server.="0.0.0.0:2888:3888 server.2=172.16.100.62:2888:3888 server.3=172.16.100.63:2888:3888" \
-v /data/kafka_cluster/zookeeper/data:/data \
zookeeper:latest

172.16.100.62 执行

docker run -tid --name=zk- \
--restart=always \
--privileged=true \
-p : \
-p : \
-p : \
-e ZOO_MY_ID= \
-e ZOO_SERVERS=server.="172.16.100.61:2888:3888 server.2=0.0.0.0:2888:3888 server.3=172.16.100.63:2888:3888" \
-v /data/kafka_cluster/zookeeper/data:/data \
zookeeper:latest

172.16.100.63 执行

docker run -tid --name=zk- \
--restart=always \
--privileged=true \
-p : \
-p : \
-p : \
-e ZOO_MY_ID= \
-e ZOO_SERVERS=server.="172.16.100.61:2888:3888 server.2=172.16.100.62:2888:3888 server.3=0.0.0.0:2888:3888" \
-v /data/kafka_cluster/zookeeper/data:/data \
zookeeper:latest

#查看集群状态

docker exec -it zk- bash ./bin/zkServer.sh status

二.直接走宿主机IP

每台机器都执行一次,只需要修改 ZOO_MY_ID 即可 只要ZOO_SERVERS 和你的ID一致即可

docker run -tid --name=zk- \
--restart=always \
--privileged=true \
--net=host \
-e ZOO_MY_ID= \
-e ZOO_SERVERS=server.="172.16.100.61:2888:3888 server.2=172.16.100.62:2888:3888 server.3=172.16.100.63:2888:3888" \
-v /data/kafka_cluster/zookeeper/data:/data \
zookeeper:latest

### 上述zk检查过后没有问题就可以进行下一步了 ###

解析主机名

注意: kafka-logs-data-1 是主机的名字 如果你的主机是xxx 那这里应该改为kafka-logs-xxx

同时我映射了本地的hosts到容器里,所有容器获取到的主机名就是宿主机的名字

在61执行

docker run -itd --name=kafka \
--restart=always \
--net=host \
--privileged=true \
-v /etc/hosts:/etc/hosts \
-v /data/kafka_cluster/kafka/data:/kafka/kafka-logs-data- \
-v /data/kafka_cluster/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=172.16.100.61 \
-e HOST_IP=172.16.100.61 \
-e KAFKA_ADVERTISED_PORT= \
-e KAFKA_ZOOKEEPER_CONNECT=172.16.100.61:,172.16.100.62:,172.16.100.63: \
-e KAFKA_BROKER_ID= \
-e KAFKA_HEAP_OPTS="-Xmx8196M -Xms8196M" \
wurstmeister/kafka:0.10.1.1

在62执行

docker run -itd --name=kafka \
--restart=always \
--net=host \
--privileged=true \
-v /etc/hosts:/etc/hosts \
-v /data/kafka_cluster/kafka/data:/kafka/kafka-logs-data- \
-v /data/kafka_cluster/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=172.16.100.62 \
-e HOST_IP=172.16.100.62 \
-e KAFKA_ADVERTISED_PORT= \
-e KAFKA_ZOOKEEPER_CONNECT=172.16.100.61:,172.16.100.62:,172.16.100.63: \
-e KAFKA_BROKER_ID= \
-e KAFKA_HEAP_OPTS="-Xmx8196M -Xms8196M" \
wurstmeister/kafka:0.10.1.1

在63执行

docker run -itd --name=kafka \
--restart=always \
--net=host \
--privileged=true \
-v /etc/hosts:/etc/hosts \
-v /data/kafka_cluster/kafka/data:/kafka/kafka-logs-data- \
-v /data/kafka_cluster/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=172.16.100.63 \
-e HOST_IP=172.16.100.63 \
-e KAFKA_ADVERTISED_PORT= \
-e KAFKA_ZOOKEEPER_CONNECT=172.16.100.61:,172.16.100.62:,172.16.100.63: \
-e KAFKA_BROKER_ID= \
-e KAFKA_HEAP_OPTS="-Xmx8196M -Xms8196M" \
wurstmeister/kafka:0.10.1.1

##创建topic test

#订阅
docker exec -it kafka  bash /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 172.16.100.61:9092,172.16.100.62:9092,172.16.100.63:9092 --topic test --from-beginning

#发送消息
docker exec -it kafka  bash /opt/kafka/bin/kafka-console-producer.sh --broker-list 172.16.100.61:9092,172.16.100.62:9092,172.16.100.63:9092 --topic test

docker 部署 zookeeper+kafka 集群的更多相关文章

  1. Docker搭建Zookeeper&Kafka集群

    最近在学习Kafka,准备测试集群状态的时候感觉无论是开三台虚拟机或者在一台虚拟机开辟三个不同的端口号都太麻烦了(嗯..主要是懒). 环境准备 一台可以上网且有CentOS7虚拟机的电脑 为什么使用虚 ...

  2. 在kubernetes上部署zookeeper,kafka集群

    本文采用网上镜像:mirrorgooglecontainers/kubernetes-zookeeper:1.0-3.4.10 准备共享存储:nfs,glusterfs,seaweed或其他,并在no ...

  3. Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战

    Zookeeper完全分布式集群服务 准备好3台服务器: [x]A-> centos-helios:192.168.19.1 [x]B-> centos-hestia:192.168.19 ...

  4. Zookeeper+Kafka集群部署(转)

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  5. Zookeeper+Kafka集群部署

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  6. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  7. 搭建zookeeper+kafka集群

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

  8. Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  9. zookeeper+kafka集群安装之一

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

随机推荐

  1. SVN服务器安装与本地连接

    SVN服务器安装与本地连接 系统环境 Centos7 查看是否安装了低版本SVN [root@svn-server ~]# rpm -qa subversion 卸载旧版本SVN [root@svn- ...

  2. 根据经纬度获取位置描述:百度API与高德API的区别

    百度API 使用百度坐标 1.访问方式一 http://api.map.baidu.com/geocoder/v2/?location=35.063592,118.38513&output=j ...

  3. JDBC通过配置文件(properites)读取数据库配置信息

    扫盲: Classloader 类加载器,用来加载 Java 类到 Java 虚拟机中.与普通程序不同的是.Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM( ...

  4. nagios client 端的安装配置 以及 svr端对应的配置(转)

    1.下载安装包并解压 $ wget wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz$ wget http ...

  5. mysql命令框中向表中插入中文字符,在可视化工具MySQL Workbeach或phpMyAdmin中不显示或显示乱码的问题解决

     一.问题导出 在刚刚开始学习MySQL数据库应用与开发这门课程的时候,老师建议我们使用可视化工具MySQL Workbeach进行数据库的相关管理,但是小编在mysql命令框使用insert命令向表 ...

  6. 在用AJAX跨域请求时遇到的问题

    刚刚接触ajax就遇到一个词--跨域. 在我百度了各种资料以后总结了一句话:“只要不是在一个协议.域.名端口下,都属于跨域(127.0.0.1本地也属于跨域)”. 在做ajax请求的时候,请求不到并且 ...

  7. [笔记] FMX 移动平台 TWebBrowser 问题

    FMX 移动平台下的 TWebBrowser 有一问题: 某些机子当 WebBrowser.Visible := False; 后,依然留在全屏,虽然看不见,但无法点击操作. 解决:用 WebBrow ...

  8. ruby的循环使用及区别(for、each等)

    ruby的循环有以下几种: times方法 for语句 while语句 until语句(与while相反) each方法(与for极度相似,在ruby内部,for语句是用each实现的) loop方法 ...

  9. python抠图与pip install PIL报错

    窗口命令pip install PIL(python3.6+selenium——2.53.1+pycharm) from PIL import Image from selenium import w ...

  10. json keyname map

    var obj = { fname:'zhao', lname:'yao', parents:{ father:'zhao' }, children:[ { dname:'zhaoyiyi' } ] ...