6

Docker-Compose安装Kafka&Zookeeper集群

 2 years ago
source link: https://syxdevcode.github.io/2022/09/26/Docker-Compose%E5%AE%89%E8%A3%85Kafka&Zookeeper%E9%9B%86%E7%BE%A4/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

kafka镜像

zookeeper镜像

创建docker网络

# 命令创建Docker网络
docker network create zookeeper_network
# 查看 Docker网络
docker network ls

Zookeeper集群

目录结构:

├── docker-compose.yml
├── zoo1
│ ├── data
│ └── datalog
├── zoo2
│ ├── data
│ └── datalog
└── zoo3
├── data
└── datalog

编辑 docker-compose.yml 配置文件:

vim docker-compose.yml

version: '3.8'

networks:
default:
external:
name: zookeeper_network
services:
zoo1:
image: zookeeper:latest
container_name: zoo1
restart: always
hostname: zoo1
ports:
- 2181:2181
volumes:
- "/opt/zookeeper/zoo1/data:/data"
- "/opt/zookeeper/zoo1/datalog:/datalog"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo2:
image: zookeeper:latest
container_name: zoo2
restart: always
hostname: zoo2
ports:
- 2182:2181
volumes:
- "/opt/zookeeper/zoo2/data:/data"
- "/opt/zookeeper/zoo2/datalog:/datalog"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo3:
image: zookeeper:latest
container_name: zoo3
restart: always
hostname: zoo3
ports:
- 2183:2181
volumes:
- "/opt/zookeeper/zoo3/data:/data"
- "/opt/zookeeper/zoo3/datalog:/datalog"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181

Kafka集群

目录结构如下:

.
├── data1
├── data2
├── data3
└── docker-compose.yml

编辑 docker-compose.yml 配置文件:

vim docker-compose.yml

version: '3.8'

networks:
default:
external:
name: zookeeper_network

services:
kafka1:
image: wurstmeister/kafka:2.13-2.8.1
restart: unless-stopped
container_name: kafka1
hostname: kafka1
ports:
- "9092:9092"
external_links:
- zoo1
- zoo2
- zoo3
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://10.10.0.106:9092 ## 宿主机IP
KAFKA_ADVERTISED_HOST_NAME: kafka1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181"
KAFKA_LOG_RETENTION_HOURS: 120
KAFKA_MESSAGE_MAX_BYTES: 10000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
KAFKA_NUM_PARTITIONS: 3
KAFKA_DELETE_RETENTION_MS: 1000
volumes:
- "/opt/kafka/data1/:/kafka"
kafka2:
image: wurstmeister/kafka:2.13-2.8.1
restart: unless-stopped
container_name: kafka2
hostname: kafka2
ports:
- "9093:9092"
external_links:
- zoo1
- zoo2
- zoo3
environment:
KAFKA_BROKER_ID: 2
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://10.10.0.106:9093 ## 宿主机IP
KAFKA_ADVERTISED_HOST_NAME: kafka2
KAFKA_ADVERTISED_PORT: 9093
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181"
KAFKA_LOG_RETENTION_HOURS: 120
KAFKA_MESSAGE_MAX_BYTES: 10000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
KAFKA_NUM_PARTITIONS: 3
KAFKA_DELETE_RETENTION_MS: 1000
volumes:
- "/opt/kafka/data2/:/kafka"
kafka3:
image: wurstmeister/kafka:2.13-2.8.1
restart: unless-stopped
container_name: kafka3
hostname: kafka3
ports:
- "9094:9092"
external_links:
- zoo1
- zoo2
- zoo3
environment:
KAFKA_BROKER_ID: 3
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://10.10.0.106:9094 ## 宿主机IP
KAFKA_ADVERTISED_HOST_NAME: kafka3
KAFKA_ADVERTISED_PORT: 9094
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2181,zoo3:2181"
KAFKA_LOG_RETENTION_HOURS: 120
KAFKA_MESSAGE_MAX_BYTES: 10000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
KAFKA_NUM_PARTITIONS: 3
KAFKA_DELETE_RETENTION_MS: 1000
volumes:
- "/opt/kafka/data3/:/kafka"
kafka-manager: # Kafka 图形管理界面
image: sheepkiller/kafka-manager:latest
restart: unless-stopped
container_name: kafka-manager
hostname: kafka-manager
ports:
- "9000:9000"
links: # 连接本compose文件创建的container
- kafka1
- kafka2
- kafka3
external_links: # 连接外部compose文件创建的container
- zoo1
- zoo2
- zoo3
environment:
ZK_HOSTS: zoo1:2181,zoo2:2181,zoo3:2181
KAFKA_BROKERS: kafka1:9092,kafka2:9093,kafka3:9094

测试运行状态

# 查看容器运行状态
docker ps

# 测试生成者
docker exec -it kafka1 /bin/bash
kafka-console-producer.sh --broker-list kafka1:9092,kafka2:9092,kafka3:9092 --topic test

# 测试消费者
docker exec -it kafka2 /bin/bash
kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic test --from-beginning

docker-compose安装kafka集群并解决docker内kafka外界无法访问问题

Docker搭建带SASL用户密码验证的Kafka

docker-compose配置带密码验证的kafka


Recommend

  • 9

    CentOS7安装JDK和Zookeeper集群配置

  • 12
    • www.lzhpo.com 3 years ago
    • Cache

    安装Zookeeper和Kafka集群

    配置/etc/hosts文件vi /etc/hosts# 添加192.168.200.110 master192.168.200.111 slave1192.168.200.112 slave2安装Zookeeper集群下载Zookeeper安装包下载地址:

  • 8

    基于 docker 搭建 zookeeper(3.4.14) 集群 (5个节点)docker-zk 基于 docker 搭建 zookeeper(3.4.14) 集群 (5个节点) 创建网络. docker network create -d bridge --subnet=192.168.0.0/24 --gateway=...

  • 10
    • blog.51cto.com 3 years ago
    • Cache

    zookeeper集群+kafka集群 部署

    zookeeper集群+kafka集群 部署 原创 正在迷途 2022-03-02 21:24:43...

  • 10
    • forrestsu.github.io 2 years ago
    • Cache

    Zookeeper+Kafka集群搭建方案

    Preface Zookeeper是一个高性能分布式应用协调服务 Naming Service Leader Election Group Service Barrier 分布式队列(其实zookeeper并不适合作为分布式队列,性能不高只不过在...

  • 11
    • blog.51cto.com 2 years ago
    • Cache

    Zookeeper+Kafka集群搭建

    Zookeeper+Kafka集群搭建 原创 l363130002 2022-07-21 15:12:29...

  • 5
    • syxdevcode.github.io 2 years ago
    • Cache

    Kafka,Zookeeper集群使用SASL认证

    SASL认证简介SASL:简单认证和安全层 SASL是一种用来扩充C/S模式验证能力的机制认证机制,全称 Simple Authentication and Security Layer。 当你设定sasl时,你必须决定两件事;一是用于交换“标识信 息”(或...

  • 3
    • syxdevcode.github.io 2 years ago
    • Cache

    Rockylinux安装docker&docker-compose

    查看Rockylinux版本# 查看系统版本cat /etc/rocky-release## 查看内核版本cat /proc/version# 或uname -r 安装docker

  • 7

    安装Zookeeper和Kafka集群 本文介绍如何安装Zookeeper和Kafka集群。为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的。 安装Zookeeper集群

  • 10

    x-ui docker image x-ui docker 版本 可以通过使用不同的

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK