在香港VPS服務器的docker中部署kafka集群通常需要使用docker Compose來管理多個容器。以下是一個簡單的示例,通過docker Compose來部署一個包含3個kafka節點和1個zookeeper節點的kafka集群。
1、創建一個docker Compose配置文件docker-compose.yaml:
version: ‘3’
services:
image: wurstmeister/zookeeper
ports:
– 2181:2181
kafka1:
image: wurstmeister/kafka
ports:
– 9092:9092
environment:
kafka_ADVERTISED_LISTENERS: INSide://kafka1:9093,OUTSide://localhost:9092
kafka_LISTENER_SECURITY_PROTOCOL_MAP: INSide:PLaiNTEXT,OUTSide:PLaiNTEXT
kafka_LISTENERS: INSide://0.0.0.0:9093,OUTSide://0.0.0.0:9092
kafka_intER_BROKER_LISTENER_NAME: INSide
kafka_zookeeper_CONNECT: zookeeper:2181
kafka_CREATE_TOPICS: “test:1:1”
links:
kafka2:
image: wurstmeister/kafka
environment:
kafka_BROKER_ID: 1
kafka_ADVERTISED_LISTENERS: INSide://kafka2:9093,OUTSide://localhost:9094
kafka_LISTENER_SECURITY_PROTOCOL_MAP: INSide:PLaiNTEXT,OUTSide:PLaiNTEXT
kafka_LISTENERS: INSide://0.0.0.0:9093,OUTSide://0.0.0.0:9094
kafka_INTER_BROKER_LISTENER_NAME: INSide
kafka_zookeeper_CONNECT: zookeeper:2181
links:
kafka3:
image: wurstmeister/kafka
environment:
kafka_BROKER_ID: 2
kafka_ADVERTISED_LISTENERS: INSide://kafka3:9093,OUTSide://localhost:9095
kafka_LISTENER_SECURITY_PROTOCOL_MAP: INSide:PLaiNTEXT,OUTSide:PLaiNTEXT
kafka_LISTENERS: INSide://0.0.0.0:9093,OUTSide://0.0.0.0:9095
kafka_INTER_BROKER_LISTENER_NAME: INSide
kafka_zookeeper_CONNECT: zookeeper:2181
links:
2、在命令行中使用docker Compose啟動kafka集群:
docker-compose up
這將啟動zookeeper節點和三個kafka節點。您可以通過訪問localhost:9092,localhost:9094和localhost:9095來訪問這三個kafka節點。
請注意,這只是一個簡單的示例,實際部署可能需要更多的配置和調整。您可能還需要做一些額外的配置,如數據卷、網絡配置等。建議查看kafka和docker的官方文檔以獲取更多詳細的信息。