1. 程式人生 > 實用技巧 >docker 安裝kafka

docker 安裝kafka

一.映象拉取

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

二.定義docker-compose.yml

version: '3'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    depends_on: [ zookeeper ]
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 
192.168.220.150 KAFKA_CREATE_TOPICS: "test:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /data/product/zj_bigdata/data/kafka/docker.sock:/var/run/docker.sock

在docker-compose.yml檔案目錄進行服務打包

[root@VM_0_16_centos kafka] # docker-compose build
zookeeper uses an image, skipping
kafka uses an image, skipping

三.啟動服務

[root@VM_0_16_centos kafka]# docker-compose up -d
Starting kafka_kafka_1     ... done
Starting kafka_zookeeper_1 ... done

四.啟動測試

記住啟動的啟動名稱,kafka為 kafka_kafka_1 ,zookeeper 為 kafka_zookeeper_1 .
如果docker-compose正常啟動,此時docker ps會看到以上兩個容器。進入kafka容器

docker exec -it kafka_kafka_1 bash

建立一個topic

$KAFKA_HOME/bin/kafka-topics.sh --create --topic topic --partitions 4 --zookeeper kafka_zookeeper_1:2181 --replication-factor 1 

注意–zookeeper後面的引數為,容器的name
檢視剛剛建立的topic

$KAFKA_HOME/bin/kafka-topics.sh --zookeeper kafka_zookeeper_1:2181 --describe --topic test

釋出資訊

bash-4.4# $KAFKA_HOME/bin/kafka-console-producer.sh --topic=test --broker-list kafka_kafka_1:9092
>ni
>haha


同樣注意--broker-list後面的引數
接收訊息

bash-4.4# $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server kafka_kafka_1:9092 --from-beginning --topic test
ni
haha

五.kafka叢集管理介面

docker run -itd --name=kafka-manager -p 9000:9000 -e ZK_HOSTS="192.168.220.150:2181" sheepkiller/kafka-manager

訪問
http://192.168.220.150:9000/

連結:https://www.jianshu.com/p/0edcc3addf3f