三臺主機
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驗證