๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

25-02-27

๐Ÿ“Œ Daily Reportโ€‹

https://github.com/ssginc-be/DOKI/issues/23


๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ์ƒํ™ฉโ€‹

๋ชจ๋“ ๊ฒŒ ์ž˜๋˜๊ณ  ์žˆ์—‰!

๊ตฌ๋ผ์ž„


๐Ÿ“Œ cmd: "๋ช…๋ น์ค„์ด ๊ธธ์–ด์š”"โ€‹

cmd์ฐฝ

Kafka ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ C:์— ๋‘์–ด์•ผ ํ•œ๋‹ค. ๊ทธ์ € ๋†€๋ผ์šด.......;


๐Ÿ“Œ ์•„ํ‚คํ…์ณ, ์ด์ƒ๊ณผ ํ˜„์‹คโ€‹

๊ฐ€๋‚œํ•œ_์•„ํ‚คํ…์ณ

๊ทธ๋ฆฌํ•˜์—ฌ, ์นดํ”„์นด๋Š” GCP์— ์˜ฌ๋ฆฌ๊ณ  ๊ฐœ๋ฐœํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋•Œ 100% ์งˆ๋ฌธ ๋“ค์–ด์˜ฌ ๊ฒƒ ๊ฐ™์•„์„œ ๋ฐฉ์–ด์ „(?)์„ ์œ„ํ•ด ๊ทธ๋ ค๋†จ๋‹ค.


๐Ÿ“Œ Kafka, Zookeeper ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜โ€‹

compose.yml
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.13-2.8.1
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock

...๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ๊ณผ ๋ณ„๊ฐœ๋กœ, ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋“ฑ๋ก๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ๋‹นํžˆ ๊ตฌ๋ฒ„์ „์ด์—ˆ๋‹ค. ์ง€๊ธˆ latest ์นดํ”„์นด ๋ฒ„์ „์ด 2.13-3.9.0์ธ๋ฐ ใ…œ

๊ทธ๋ž˜๋„ ๋ฐ”์˜๋‹ˆ๊นŒ ์ผ๋‹จ ์“ฐ์ž.


๐Ÿ“Œ Docker ์†Œ์ผ“ ๊ถŒํ•œ ์„ค์ •ํ•˜๊ธฐโ€‹

$ docker compose -f compose.kafka.yml up -d
unable to get image 'wurstmeister/kafka:2.13-2.8.1': permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/images/wurstmeister/kafka:2.13-2.8.1/json": dial unix /var/run/docker.sock: connect: permission denied

์นดํ”„์นด ์„ค์น˜ํ•˜๋‹ค๊ฐ€ ํ„ฐ์ง„ ๋ฌธ์ œ์ธ๋ฐ, /var/run/docker.sock ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ 666์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

$ sudo chmod 666 /var/run/docker.sock

๐Ÿ“Œ compose down์‹œ ๋ณผ๋ฅจ ์ œ๊ฑฐํ•˜๊ธฐโ€‹

$ docker compose -f compose.kafka.yml down -v

๋‚˜๋Š” ์™œ ๊ทธ๋™์•ˆ docker rm -v $(docker ps -qa)๋กœ ์‚ฝ์งˆ์„ ํ•˜์˜€๋Š”๊ฐ€

๊ทธ๋ž˜๋„ ๋ช…๋ น์–ด ์™ธ์šฐ๋Š”๋ฐ ๋„์›€๋จ
์•„๋‹ˆ ๊ทธ๊ฑธ ์™œ ์™ธ์›Œ์š”?


๐Ÿ“Œ Kafka ํ† ํ”ฝ ๊ด€๋ จ ๋ช…๋ น์–ดโ€‹

Kafka ์ปจํ…Œ์ด๋„ˆ ์‰˜ ์ ‘์†โ€‹

$ docker container exec -it kafka bash

Kafka ํ† ํ”ฝ ๋ฆฌ์ŠคํŠธ ํ™•์ธโ€‹

$ kafka-topics.sh --list --bootstrap-server localhost:9092

Kafka ํ† ํ”ฝ ์ƒ์„ฑโ€‹

$ kafka-topics.sh --create --bootstrap-server localhost:9092 --topic doki-reserve

Kafka ํ† ํ”ฝ ์‚ญ์ œโ€‹

$ kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic doki-reserve

๐Ÿ“Œ reserve-service์™€ Kafka ์—ฐ๊ฒฐโ€‹

์ œ์ผ ๋จผ์ € GCP ๋ฐฉํ™”๋ฒฝ์—์„œ TCP 9092 ์ธ๋ฐ”์šด๋“œ๋ฅผ ํ—ˆ์šฉํ•ด์ฃผ์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์š” ๋ ˆํผ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ..

20:59:02.335[org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] WARN  o.apache.kafka.clients.NetworkClient - [Consumer clientId=consumer-doki-1, groupId=doki] Connection to node 1001 (/127.0.0.1:9092) could not be established. Node may not be available.

๋ญ ํ˜ธ์ŠคํŠธ ์„ค์ •์ด ์ž˜๋ชป๋œ ๊ฒƒ ๊ฐ™์€๋ฐ,

์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ compose ์Šคํฌ๋ฆฝํŠธ์—์„œ KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1์ด ์ƒ๊ฐ๋‚จ.

์•„ ์„ค๋งˆ ์ด๊ฑฐ GCP ์ธ์Šคํ„ด์Šค ์—”๋“œํฌ์ธํŠธ๋กœ ์„ธํŒ…ํ•ด์•ผ๋˜๋Š”๊ฑด๊ฐ€? ํ•˜๊ณ  ๋‹ค์‹œ ์„ค์ •ํ•ด์„œ compose up ํ•ด์คฌ๋”๋‹ˆ

21:09:06.733[kafka-producer-network-thread | reserve-service-producer-1] WARN  o.apache.kafka.clients.NetworkClient - [Producer clientId=reserve-service-producer-1] Error while fetching metadata with correlation id 1 : {doki-reserve=LEADER_NOT_AVAILABLE}

?

SSH ์ ‘์†ํ•ด์„œ ์นดํ”„์นด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ doki-reserve ํ† ํ”ฝ์€ ์ƒ์„ฑ๋˜์–ด์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿผ ์—ฐ๊ฒฐ์€ ๋œ๊ฑด๋ฐ? ๋ญ์ง€?