多台服务器Docker-compose 安装zookeeper集群

本文介绍了如何在多台服务器上使用docker-compose安装和配置Zookeeper集群,详细步骤包括安装docker-compose,设置zookeeper的docker-compose.yml和配置文件zoo.cfg,并最终通过检查集群状态确认安装成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多台服务器Docker-compose 安装zookeeper集群

安装docker-compose

• 安装docker:sudo apt-get install docker.io

• 开机启动docker sudo systemctl enable docker.service

• 安装docker-compose

  1. sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  2. sudo chmod +x /usr/local/bin/docker-compose

zookeeper安装与配置

假定zookeeper安装在三台机器:10.1.2.101、10.1.2.102、10.1.2.103

设置固定格式的docker-compose 目录方便查找
mkdir -p ~/docker-compose-file/zookeeper
vim docker-compose.yml 
#以10.1.2.101为例
version: '2'
services:
  zookeeper:
    image: 'zookeeper:latest'
    restart: always
    environment:
      ZOO_MY_ID: 1
    volumes:
      - /data/docker-container-configs/zookeeper/zoo.cfg:/conf/zoo.cfg
      #也可以挂载到主机,新建myid文件- /data/zook
### 使用 Docker-Compose 部署 Zookeeper 和 Kafka 的具体步骤及配置文件示例 #### 1. 环境准备 确保本地已安装 DockerDocker Compose。验证环境是否正常运行: ```bash docker --version docker-compose --version ``` 下载所需的镜像: ```bash docker pull confluentinc/cp-zookeeper:6.1.1 docker pull confluentinc/cp-kafka:6.1.1 ``` #### 2. 创建 `docker-compose.yml` 文件 以下是一个典型的 `docker-compose.yml` 文件示例,用于部署单节点的 Zookeeper 和 Kafka: ```yaml version: '3.1' services: zookeeper: image: confluentinc/cp-zookeeper:6.1.1 container_name: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 kafka: image: confluentinc/cp-kafka:6.1.1 container_name: kafka depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ``` #### 3. 启动服务 在包含 `docker-compose.yml` 文件的目录下运行以下命令启动服务: ```bash docker-compose up -d ``` 这将以后台模式启动 Zookeeper 和 Kafka 容器。 #### 4. 验证服务状态 检查容器是否正常运行: ```bash docker ps ``` 输出应显示两个容器:`zookeeper` 和 `kafka`。 #### 5. 测试 Kafka 功能 进入 Kafka 容器并测试基本功能: ```bash docker exec -it kafka bash ``` 创建一个测试 Topic: ```bash kafka-topics --create --topic test-topic --bootstrap-server kafka:9092 --partitions 1 --replication-factor 1 ``` 列出所有 Topic: ```bash kafka-topics --list --bootstrap-server kafka:9092 ``` #### 6. 停止和清理服务 停止并移除容器: ```bash docker-compose down ``` --- ### 注意事项 - 如果需要扩展为多节点集群,可以在 `docker-compose.yml` 中添加更多 `zookeeper` 和 `kafka` 实例,并调整相应的环境变量[^1]。 - 确保网络配置正确,特别是在跨主机环境中使用自定义子网时[^4]。 - 可以通过挂载本地目录到容器中持久化数据,例如: ```yaml volumes: - ./kafka-data:/var/lib/kafka/data - ./zookeeper-data:/var/lib/zookeeper/data ``` --- ### 示例代码块 以下是完整版的 `docker-compose.yml` 文件: ```yaml version: '3.1' services: zookeeper: image: confluentinc/cp-zookeeper:6.1.1 container_name: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 kafka: image: confluentinc/cp-kafka:6.1.1 container_name: kafka depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值