docker搭建kafka集群(高级版)
1. 环境docker, docker-compose
2.zookeeper集群
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# dataDir=/opt/zookeeper-3.4.13/data
dataDir=/data
dataLogDir=/datalog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
autopurge.purgeInterval=1 server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
docker-compose-zookeeper.yml
version: '3.7'
services:
zoo1:
container_name: zoo1
hostname: zoo1
image: wurstmeister/zookeeper
privileged: true
restart: unless-stopped
ports:
- 2181:2181
volumes: # 挂载数据卷
- /data/zookeeper/zoo1/config/zoo.cfg:/opt/zookeeper-3.4.13/conf/zoo.cfg
- /data/zookeeper/zoo1/data:/data
- /data/zookeeper/zoo1/datalog:/datalog
environment:
TZ: Asia/Shanghai
ZOO_MY_ID: 1 # 节点ID
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 # zookeeper节点列表 zoo2:
container_name: zoo2
hostname: zoo2
image: wurstmeister/zookeeper
privileged: true
restart: unless-stopped
ports:
- 2182:2181
volumes: # 挂载数据卷
- /data/zookeeper/zoo2/config/zoo.cfg:/opt/zookeeper-3.4.13/conf/zoo.cfg
- /data/zookeeper/zoo2/data:/data
- /data/zookeeper/zoo2/datalog:/datalog
environment:
TZ: Asia/Shanghai
ZOO_MY_ID: 2 # 节点ID
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 # zookeeper节点列表 zoo3:
container_name: zoo3
hostname: zoo3
image: wurstmeister/zookeeper
privileged: true
restart: unless-stopped
ports:
- 2183:2181
volumes: # 挂载数据卷
- /data/zookeeper/zoo3/config/zoo.cfg:/opt/zookeeper-3.4.13/conf/zoo.cfg
- /data/zookeeper/zoo3/data:/data
- /data/zookeeper/zoo3/datalog:/datalog
environment:
TZ: Asia/Shanghai
ZOO_MY_ID: 3 # 节点ID
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 # zookeeper节点列表
启动
docker-compose -f docker-compose-zookeeper.yml up -d
3.kafka集群
需要先创建虚拟机网络
docker network create -d bridge --subnet 172.19.0.0/24 kafka_net
docker-compose-kafka.yml
version: '3.2'
services:
broker1:
container_name: broker1
hostname: broker1
image: wurstmeister/kafka
privileged: true
restart: unless-stopped
ports:
- "9986:9986"
- "9091:9091"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENERS: PLAINTEXT://:9091
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.12.163:9091
KAFKA_ADVERTISED_HOST_NAME: 172.16.12.163
KAFKA_ADVERTISED_PORT: 9091
KAFKA_ZOOKEEPER_CONNECT: 172.16.12.130:2181,172.16.12.130:2182,172.16.12.130:2183
JMX_PORT: 9986
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /data/kafka/broker1:/kafka/kafka-logs-broker2
networks:
default:
ipv4_address: 172.19.0.11 broker2:
container_name: broker2
hostname: broker2
image: wurstmeister/kafka
privileged: true
restart: unless-stopped
ports:
- "9987:9987"
- "9092:9092"
environment:
KAFKA_BROKER_ID: 2
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.12.163:9092
KAFKA_ADVERTISED_HOST_NAME: 172.16.12.163
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: 172.16.12.130:2181,172.16.12.130:2182,172.16.12.130:2183
JMX_PORT: 9987
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /data/kafka/broker2:/kafka/kafka-logs-broker2
networks:
default:
ipv4_address: 172.19.0.12 broker3:
container_name: broker3
hostname: broker3
image: wurstmeister/kafka
privileged: true
restart: unless-stopped
ports:
- "9988:9988"
- "9093:9093"
environment:
KAFKA_BROKER_ID: 3
KAFKA_LISTENERS: PLAINTEXT://:9093
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.12.163:9093
KAFKA_ADVERTISED_HOST_NAME: 172.16.12.163
KAFKA_ADVERTISED_PORT: 9093
KAFKA_ZOOKEEPER_CONNECT: 172.16.12.130:2181,172.16.12.130:2182,172.16.12.130:2183
JMX_PORT: 9988
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /data/kafka/broker3:/kafka/kafk-logs-broker3
networks:
default:
ipv4_address: 172.19.0.13 kafka-manager:
image: sheepkiller/kafka-manager:latest
container_name: kafka-manager
hostname: kafka-manager
restart: unless-stopped
ports:
- 9000:9000
links: # 连接本compose文件创建的container
- broker1
- broker2
- broker3 environment:
ZK_HOSTS: 172.16.12.130:2181,172.16.12.130:2182,172.16.12.130:2183
KAFKA_BROKERS: broker1:9091,broker2:9092,broker3:9093
APPLICATION_SECRET: 123456
KM_ARGS: -Djava.net.preferIPv4Stack=true
networks:
default:
ipv4_address: 172.19.0.14 networks:
default:
external:
name: kafka_net
启动
docker-compose -f docker-compose-kafka.yml up -d
4. 遇到的问题:
在同一台集群上部署zookeeper集群和kafka集群,会报错:
/usr/bin/start-kafka.sh: line 149: /opt/kafka/bin/kafka-server-start.sh: No such file or direc
原因:可能是因为端口冲突导致docker容器没启动,然后报错。认真检查端口吧!
docker搭建kafka集群(高级版)的更多相关文章
- docker 搭建kafka集群(入门版)
1.环境 docker, docker-compose 2.zk-kafka.yml version: '3' services: zoo1: image: zookeeper:3.4.14 rest ...
- docker 搭建zookeeper集群和kafka集群
docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...
- 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...
- 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现
庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介 在第七篇文章<庐山真面目之七微服务架构Consul ...
- docker部署kafka集群
利用docker可以很方便的在一台机子上搭建kafka集群并进行测试.为了简化配置流程,采用docker-compose进行进行搭建. kafka搭建过程如下: 编写docker-compose.ym ...
- docker-compose 搭建kafka集群
docker-compose搭建kafka集群 下载镜像 1.wurstmeister/zookeeper 2.wurstmeister/kafka 3.sheepkiller/kafka-manag ...
- 大数据平台搭建-kafka集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- Docker搭建PXC集群
如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# ...
随机推荐
- JavaScript中使用eval()方法解析json串
最近在js用到了eval()方法,在这里做个笔记 当时是这么用的:data = eval("("+data+")"); data为后台向前台传送的一个json串 ...
- 剑指offer 37-42
37. 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 思路: 1.平衡二叉树的定义为,当为空树或左右子树高度小于等于1,同时左右子树都要为平衡二叉树. 2.先分别求出左右子树的高度,比较高度差,如果 ...
- U149791 正多边形变换
原博客网页--洛谷博客 题目地址 如果您对群论有所了解,那么本题就是对二面体群 \(D_{2n}\) 的简单实现,您可以直接跳到代码部分.下面的解题思路只是对二面体群 \(D_{2n}\) 的构造思路 ...
- Thymeleaf模板引擎语法
th:text 用于显示值 th:object 接收后台传来的对象 th:action 提交表单 th:value 绑定值 th:field 绑定 ...
- varnish配置语言(1)
目录 1. vcl语法 1.1 主体语法 1.2 操作符 1.3 Subroutines 1.4 关键字 2. 内置的Subroutines 2.1 client-side vcl_recv vcl_ ...
- java基础---类和对象(3)
一.Object类 java.lang.Object类是Java语言中类层次结构的根类,也就是说任何一个类都是该类的直接或者间接子类 如果定义一个Java类时没有使用extends关键字声明其父类,则 ...
- HCNA Routing&Switching之动态路由协议OSPF基础(一)
前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...
- springboot-7-WebSocket
一.WebSocket简介 为什么要什么websocket:https://blog.csdn.net/qq_42429911/article/details/88601279 用websocket可 ...
- windows上传本地项目Github远程仓库(另附设置git网页链接)
一:关于Windows平台安装git以及github的注册不在详细描述,可以参考如下经验: 安装教程:https://jingyan.baidu.com/article/925f8cb8a8e91cc ...
- (opencv01)读入图像
(opencv01)Opencv之读入图像 读入图像 img = cv2.imread(filepath, flags) filepath : 要读入图片的完整路径 flags : 读入图片的标志 ...