zsmeijin
6/16/2019 - 7:49 AM

Kafka服务搭建

[Install Kafka] #Install

  1. 下载源码
    mkdir -p /mydata/kafka-docker/
    git clone https://github.com/wurstmeister/kafka-docker
    
  2. 修改源码中提供的Dockerfile:
    • 更新apk 3.9源以提升apk命令执行速度
    • 将需glibc下载到静态文件服务器,然后更新下载地址从静态服务器下载,避免github由于DNS污染导致无法下载到glibc文件
    RUN echo http://mirrors.ustc.edu.cn/alpine/v3.9/main > /etc/apk/repositories \
     && echo http://mirrors.ustc.edu.cn/alpine/v3.9/community >> /etc/apk/repositories \
     && apk add --no-cache bash curl jq docker \
     && chmod a+x /tmp/*.sh \
     && mv /tmp/start-kafka.sh /tmp/broker-list.sh /tmp/create-topics.sh /tmp/versions.sh /usr/bin \
     && sync && /tmp/download-kafka.sh \
     && tar xfz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt \
     && rm /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz \
     && ln -s /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} /opt/kafka \
     && rm /tmp/* \
     && wget http://xxx.xxx.xxx.xxx:xxxx/mydata/glibc-${GLIBC_VERSION}.apk \
     && apk add --no-cache --allow-untrusted glibc-${GLIBC_VERSION}.apk \
     && rm glibc-${GLIBC_VERSION}.apk
    
  3. 修改docker-compose.yml文件:
    version: '2'
    services:
      zookeeper:
        image: wurstmeister/zookeeper
        ports:
          - "2181:2181"
      kafka:
        build: .
        ports:
          - "9092:9092"
        environment:
          KAFKA_ADVERTISED_HOST_NAME: xxx.xxx.xxx.xxx
          KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
    
  4. 启动kafak
    docker-compose up -d