Docker-kafka集群安装

 三台服务器IP
172.16.11.11
172.16.11.12
172.16.11.110

每台服务器都创建映射文件夹
/home/kafka-docker/zoo1/data
 /home/kafka-docker/zoo1/datalog
/home/kafka-docker/kafka1/logs


安装好:docker
安装好:docker-compose(
    yum -y install epel-release
    yum -y install python-pip
    sudo wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    sudo python get-pip.py
    pip install docker-compose
)



每台节点上执行

##第一台
cat > docker-compose.yml <<-EOF
version: '3.1'
services:
  zoo1:
    image: wurstmeister/zookeeper
    restart: always
    hostname: zoo1
    container_name: zoo1
    ports:
      - 2281:2181
    volumes:
      - /home/kafka-docker/zoo1/data:/data:Z
      - /home/kafka-docker/zoo1/datalog:/datalog:Z
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=172.16.11.11:2288:3288;2281 server.2=172.16.11.12:2288:3288;2281 server.3=172.16.11.110:2288:3288;2281


  kafka1:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka1
    container_name: kafka1
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.16.11.11
      KAFKA_HOST_NAME: 172.16.11.11
      KAFKA_ADVERTISED_PORT: 9292
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: 172.16.11.11:2281,172.16.11.12:2281,172.16.11.110:2281
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.11.11:9292
      KAFKA_LISTENERS: PLAINTEXT://172.16.11.11:9292
    volumes:
      - /home/kafka-docker/kafka1/logs:/kafka:Z
    network_mode: host
EOF

#步骤2
docker-compose up -d



##第二台
cat > docker-compose.yml <<-EOF
version: '3.1'
services:
  zoo1:
    image: wurstmeister/zookeeper
    restart: always
    hostname: zoo2
    container_name: zoo2
    ports:
     - 2282:2181   
    volumes:
      - /home/kafka-docker/zoo2/data:/data:Z
      - /home/kafka-docker/zoo2/datalog:/datalog:Z
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=172.16.11.11:2288:3288:2281 server.2=172.16.11.12:2288:3288:2281 server.3=172.16.11.110:2288:3288:2281

  kafka1:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka2
    container_name: kafka2
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.16.11.12
      KAFKA_HOST_NAME: 172.16.11.12
      KAFKA_ADVERTISED_PORT: 9292
      KAFKA_BROKER_ID: 2
      KAFKA_ZOOKEEPER_CONNECT: 172.16.11.11:2281,172.16.11.12:2281,172.16.11.110:2281
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.11.12:9292
      KAFKA_LISTENERS: PLAINTEXT://172.16.11.12:9292
    volumes:
      - /home/kafka-docker/kafka2/logs:/kafka:Z
    network_mode: host
EOF

#步骤2
docker-compose up -d

##第三台
cat > docker-compose.yml <<-EOF
version: '3.1'
services:
  zoo1:
    image: wurstmeister/zookeeper
    restart: always
    hostname: zoo3
    container_name: zoo3
    ports:
      - 2282:2181
    volumes:
      - /home/kafka-docker/zoo3/data:/data:Z
      - /home/kafka-docker/zoo3/datalog:/datalog:Z
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=172.16.11.11:2288:3288:2281 server.2=172.16.11.12:2288:3288:2281 server.3=172.16.11.110:2288:3288:2281
      
  kafka1:
    image: wurstmeister/kafka
    restart: always
    hostname: kafka3
    container_name: kafka3
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.16.11.110
      KAFKA_HOST_NAME: 172.16.11.110
      KAFKA_ADVERTISED_PORT: 9292
      KAFKA_BROKER_ID: 3
      KAFKA_ZOOKEEPER_CONNECT: 172.16.11.11:2281,172.16.11.12:2281,172.16.11.110:2281
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.11.110:9292
      KAFKA_LISTENERS: PLAINTEXT://172.16.11.110:9292
    volumes:
      - /home/kafka-docker/kafka3/logs:/kafka:Z
    network_mode: host
EOF

#步骤2
docker-compose up -d





###进入测试
docker exec -it kafka3 /bin/bash


 kafka-topics.sh --create --zookeeper 172.16.11.11:2281 --replication-factor 3 --partitions 5 --topic TestTopic Created topic TestTopic.

kafka-topics.sh --describe --zookeeper 172.16.11.11:2281 --topic TestTopic

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容