Docker搭建Kafka集群简介

一、机器环境

虚拟机,CentOS7.3 ,已安装docker

安装 docker 教程见之前的文章 最强docker学习总结

二、安装docker-compose

目的是为了使用docker-compose文件来一次性创建和启动 kafka 容器

1、官网安装命令
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2、配置权限
chmod +x /usr/local/bin/docker-compose
3、验证安装结果
 docker-compose version

输出结果如下:

docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018

三、编写docker-compose文件启动

创建 dockers-compose.yaml 文件,编辑如下内容

version: "3"

services:
  zookeeper:
    image: wurstmeister/zookeeper
    #build:
      #context: ./
    container_name: zookeeper-node-1
    ports:
      - 2181:2181
    volumes:
      - ./data/zookeeper/data:/data
      - ./data/zookeeper/datalog:/datalog
      - ./data/zookeeper/logs:/logs
    restart: always

  kafka_node_0:
    depends_on:
      - zookeeper
    #build:
      #context: ./
    container_name: kafka-node-0
    image: wurstmeister/kafka
    environment:
      KAFKA_BROKER_ID: 0
      KAFKA_ZOOKEEPER_CONNECT: 192.168.244.132:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.244.132:9093
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
      KAFKA_NUM_PARTITIONS: 3
      KAFKA_DEFAULT_REPLICATION_FACTOR: 2
    ports:
      - 9093:9093
    volumes:
      - ./data/kafka/node_0:/kafka
    restart: unless-stopped

  kafka_node_1:
    depends_on:
      - kafka_node_0
    #build:
      #context: ./
    container_name: kafka-node-1
    image: wurstmeister/kafka
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: 192.168.244.132:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.244.132:9094
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094
      KAFKA_NUM_PARTITIONS: 3
      KAFKA_DEFAULT_REPLICATION_FACTOR: 2
    ports:
      - 9094:9094
    volumes:
      - ./data/kafka/node_1:/kafka
    restart: unless-stopped

  kafka_node_2:
    depends_on:
      - kafka_node_1
    #build:
      #context: ./
    container_name: kafka-node-2
    image: wurstmeister/kafka
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ZOOKEEPER_CONNECT: 192.168.244.132:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.244.132:9095
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9095
      KAFKA_NUM_PARTITIONS: 3
      KAFKA_DEFAULT_REPLICATION_FACTOR: 2
    ports:
      - 9095:9095
    volumes:
      - ./data/kafka/node_2:/kafka
    restart: unless-stopped

把上面的 IP 地址换成自己的机器的IP地址,然后在当前文件目录下执行启动命令

docker-compose up -d

查看 docker 容器启动结果

CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS             PORTS                                                          NAMES
bd46814cff21   wurstmeister/kafka       "start-kafka.sh"         2 hours ago   Up 2 seconds       0.0.0.0:9095->9095/tcp                                         kafka-node-2
fc9795f47e91   wurstmeister/kafka       "start-kafka.sh"         2 hours ago   Up 3 seconds       0.0.0.0:9094->9094/tcp                                         kafka-node-1
350e5d51f734   wurstmeister/kafka       "start-kafka.sh"         2 hours ago   Up 1 second        0.0.0.0:9093->9093/tcp                                         kafka-node-0
971c2533bfa4   wurstmeister/zookeeper   "/bin/sh -c '/usr/sb…"   2 hours ago   Up 10 seconds      22/tcp, 2181/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2182->2182/tcp   zookeeper-node-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林志鹏JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值