docker 安裝kafka


安裝zookpeeper

docker pull zookeeper # 如果下載超時使用docker search zookeeper 查找其他鏡像
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2  --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper

如果報錯

Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.

更換zookeeper版本,比如zookeeper:3.7.0

安裝kafka

# -v /etc/localtime:/etc/localtime 容器使用開發機時間
docker pull wurstmeister/kafka

docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.139/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.139:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

參數說明

參數說明:
-e KAFKA_BROKER_ID=0  在kafka集群中,每個kafka都有一個BROKER_ID來區分自己

-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.139:2181/kafka 配置zookeeper管理kafka的路徑192.168.0.139:2181/kafka

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.139:9092  把kafka的地址端口注冊給zookeeper,如果是遠程訪問要改成外網IP,類如Java程序訪問出現無法連接。

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的監聽端口

-v /etc/localtime:/etc/localtime 容器時間同步虛擬機的時間

驗證是否可用

進入容器

docker exec -it kafka bash

#  進入kafka自帶測試腳本目錄, kafka_2.13-2.8.1為我的kafka,安裝版本不同可以,根據情況修改
cd /opt/kafka_2.13-2.8.1/bin/

打開消費腳本

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic

image

打開生產腳本發送消息,消費腳本能收到消息,說明配置成功

./kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic

image

新建topic

kafka-topics.sh --create --zookeeper 192.168.31.251:2181/kafka --replication-factor 1 --partitions 12 --topic mytest

image

列出當前topic

kafka-topics.sh --list --zookeeper 192.168.31.251:2181/kafka

image

參數

參數名 作用 備注
KAFKA_BROKER_ID kafka唯一id,用來區分不同節點
KAFKA_ZOOKEEPER_CONNECT zookeepe連接地址
KAFKA_ADVERTISED_LISTENERS
KAFKA_LISTENERS 配置kafka的監聽端

報錯解決

WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {sun=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM