docker配置kafka集羣

三臺主機

10.10.10.27 yf-kafka1

10.10.10.28 yf-kafka2

10.10.10.29 yf-kafka3

安裝docker(替換下面的USERNAME爲你自己的用戶名)

$ sudo apt-get remove docker docker-engine docker.io
 
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
 
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 
$ sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
 
$ sudo apt-get install -y docker-ce
 
$ sudo systemctl enable docker && sudo systemctl start docker
 
$ sudo usermod -aG docker USERNAME

下載鏡像

docker pull zookeeper:latest
docker pull wurstmeister/kafka

創建容器

/*****************Zookeeper*****************************/
yf-kafka1
docker run -d --name=zookeeper \
--restart=always \
-p 2888:2888 \
-p 3888:3888 \
-p 2181:2181 \
-e ZOO_MY_ID=1 \
-e ZOO_SERVERS="server.1=0.0.0.0:2888:3888;2181 server.2=10.10.10.28:2888:3888;2181 server.3=10.10.10.29:2888:3888;2181" \
-v /home/yf-kafka1/zoo/data:/data \
-v /home/yf-kafka1/zoo/datalog:/datalog \
-v /etc/localtime:/etc/localtime \
zookeeper:latest

yf-kafka2
docker run -d --name=zookeeper \
--restart=always \
-p 2888:2888 \
-p 3888:3888 \
-p 2181:2181 \
-e ZOO_MY_ID=2 \
-e ZOO_SERVERS="server.1=10.10.10.27:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=10.10.10.29:2888:3888;2181" \
-v /home/yf-kafka2/zoo/data:/data \
-v /home/yf-kafka2/zoo/datalog:/datalog \
-v /etc/localtime:/etc/localtime \
zookeeper:latest

yf-kafka3
docker run -d --name=zookeeper \
--restart=always \
-p 2888:2888 \
-p 3888:3888 \
-p 2181:2181 \
-e ZOO_MY_ID=3 \
-e ZOO_SERVERS="server.1=10.10.10.27:2888:3888;2181 server.2=10.10.10.28:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181" \
-v /home/yf-kafka3/zoo/data:/data \
-v /home/yf-kafka3/zoo/datalog:/datalog \
-v /etc/localtime:/etc/localtime \
zookeeper:latest

/*****************Kafka*****************************/
yf-kafka1
docker run -d --name=kafka \
--restart=always \
-p 9092:9092 \
-v /etc/localtime:/etc/localtime \
-v /home/yf-kafka1/kafka/data:/kafka/kafka-logs-yf-kafka1 \
-v /home/yf-kafka1/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=10.10.10.27 \
-e HOST_IP=10.10.10.27 \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_BROKER_ID=0 \
wurstmeister/kafka:latest

yf-kafka2
docker run -d --name=kafka \
--restart=always \
-p 9092:9092 \
-v /etc/localtime:/etc/localtime \
-v /home/yf-kafka2/kafka/data:/kafka/kafka-logs-yf-kafka2 \
-v /home/yf-kafka2/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=10.10.10.28 \
-e HOST_IP=10.10.10.28 \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_BROKER_ID=1 \
wurstmeister/kafka:latest

yf-kafka3
docker run -d --name=kafka \
--restart=always \
-p 9092:9092 \
-v /etc/localtime:/etc/localtime \
-v /home/yf-kafka3/kafka/data:/kafka/kafka-logs-yf-kafka3 \
-v /home/yf-kafka3/kafka/logs:/opt/kafka/logs \
-e KAFKA_ADVERTISED_HOST_NAME=10.10.10.29 \
-e HOST_IP=10.10.10.29 \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_BROKER_ID=2 \
wurstmeister/kafka:latest

/*****************Kafka Rest*****************************/
yf-kafka1
docker run -d \
-p 8082:8082 \
--name=kafka-rest \
-e KAFKA_REST_HOST_NAME=10.10.10.27 \
-e KAFKA_REST_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_ADVERTISED_LISTENERS=10.10.10.27:9092,10.10.10.28:9092,10.10.10.29:9092 \
confluentinc/cp-kafka-rest:latest

yf-kafka2
docker run -d \
-p 8082:8082 \
--name=kafka-rest \
-e KAFKA_REST_HOST_NAME=10.10.10.28 \
-e KAFKA_REST_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_ADVERTISED_LISTENERS=10.10.10.27:9092,10.10.10.28:9092,10.10.10.29:9092 \
confluentinc/cp-kafka-rest:latest

yf-kafka3
docker run -d \
-p 8082:8082 \
--name=kafka-rest \
-e KAFKA_REST_HOST_NAME=10.10.10.29 \
-e KAFKA_REST_ZOOKEEPER_CONNECT=10.10.10.27:2181,10.10.10.28:2181,10.10.10.29:2181 \
-e KAFKA_ADVERTISED_LISTENERS=10.10.10.27:9092,10.10.10.28:9092,10.10.10.29:9092 \
confluentinc/cp-kafka-rest:latest

Kafka Tool驗證

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章