我们正在Docker上使用单节点基本部署,其中包括以下服务
kafka
schemaregistry
zookeeper
示例:
# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------
control-center /etc/confluent/docker/run Up 0.0.0.0:9021->9021/tcp
kafka-single-node_kafka_1 /etc/confluent/docker/run Up 0.0.0.0:9092->9092/tcp
kafka-single-node_schemaregistry_1 /etc/confluent/docker/run Up 0.0.0.0:8081->8081/tcp
kafka-single-node_zookeeper_1 /etc/confluent/docker/run Up 0.0.0.0:2181->2181/tcp, 2888/tcp, 3888/tcp
我们根据-https://docs.confluent.io/5.0.0/installation/docker/docs/installation/single-node-client.html
在容器上创建了服务我们在kafka机器上创建主题,并打算将数据注入到主题分区中
主题将在kafka docker容器计算机上的路径-/var/lib/kafka/data
由于/var
在那台kafka docker机器上只有100G,我们希望至少使用大小为1T
因此,我们计划向操作系统添加1T字节(1000G)的新磁盘
添加了巨大的磁盘后,第二个操作是将磁盘安装到/var/lib/kafka/data
(因此数据文件夹的大小为1T)
但是问题是-应该设置哪个docker配置文件和参数?
我们使用的docker-compose.yml
包括以下有关kafka的部分
kafka:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
答案 0 :(得分:2)
首先,将磁盘安装到Linux主机上/etc/fstab
中的目录,然后使用卷-https://docs.docker.com/compose/compose-file/#volumes
kafka:
image: confluentinc/cp-kafka:latest
volumes:
- /some/path:/var/lib/kafka/data