docker-compose 를 통해 kafka , zookeeper를 실행하는 중 발생한 오류이다.
version: '3.8'
services:
zookeeper:
image: zookeeper:latest
platform: linux/amd64
deploy:
resources:
limits:
cpus: "0.5"
memory: "500m"
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
networks:
- service-network
kafka:
image: wurstmeister/kafka:latest
platform: linux/amd64
deploy:
resources:
limits:
cpus: "1"
memory: "1G"
ports:
- "29092:29092"
environment:
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:29092,OUTSIDE://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
networks:
- service-network
kafka-ui:
image: provectuslabs/kafka-ui:latest
platform: linux/amd64
ports:
- "8080:8080"
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper:2181
KAFKA_CLUSTERS_0_READONLY: "false"
networks:
- service-network
networks:
service-network:
driver: bridge
해당 yml을 통해 docker-compose up -d를 하면 zookeeper가 오류를 냅다 뱉고 실행이 종료되지는 않는다..
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18
2024-11-12 05:33:18 [Too many errors, abort]
2024-11-12 05:33:18 qemu: uncaught target signal 6 (Aborted) - core dumped
오류 내용은 알려주지도 않는다..
zookeeper가 정상 작동하지 않으니까 kafka도 실행되지 않는다.
추측하건데 docker를 사용할때 어떤 이미지를 사용하는지와 더불어 중요한것은 platform 설정이다..
해당 플랫폼에 대해 검색했더니 맥 m1 환경에서 실행할 경우 충돌이 나는 설정이라고 한다..
AS-IS : platform: linux/amd64
TO-BE : platform: linux/arm64
맥북 m1에서 플랫폼은 arm64가 맞다..!