WAS server

Mac(IOS-M1칩)환경 도커(docker) + 카프카(kafka) 환경 구성하기 (2)

dev.mk 2023. 5. 1. 21:14
반응형

2023.04.16 - [Web Server] - Mac(IOS)환경 도커(docker) + 카프카(kafka) 환경 구성하기 (1)

 

이전시간에 이어 도커로 카프카를 실행시킨다.

$ docker-compose up -d

그리고 카프카에 접속, 아래의 명령어 참고

 

1. kafka의 server.properties 파일 내용 변경

$ docker exec -it kafka /bin/bash
$ cd /opt/kafka/config
$ vi server.properties

!!진행중 마주친 에러

도커에 vi편집기 설치가 안되어 있으면 vi server.properties 명령어 입력시

"vi : command not found" 오류가 발생한다. 

$ apt-get update

일단 업데이트를 한번 해주면 주루륵 업데이트가 된다.

apt-get install vim

그다음 vim 설치해주면 된다. 그럼 vi 편집기 잘 된다. 

 

 

이어서 server.properties 파일을 연다.

$ vi server.properties

프로퍼티 설정 내용중

listeners 의 주석을 풀고 localhost를 중간에 입력한다.

listeners=PLAINTEXT://localhost:9092

 

내가 추가한옵션은

delete.topic.enable=true 토픽을 삭제 할 수 있게 하기 위함

auto.create.topics.enable=true 설정은 토픽이 존재하지 않은 상태에서 토픽을 찾으려 할 때 자동으로 이를 생성해주는 옵션

 

 

그리고 이제 exit로 컨테이너를 나와 다시 재기동 시켜주면 된다.

restart를 쓰면 kafka 버그 때문에 바로 안 올라가는 경우가 있으니 당황하지말고 stop 후 좀 대기하여 start로 재기동해보자.

$ docker stop kafka 
$ docker start kafka

 

2. Kafka 테스트 

먼저 세팅한 kafka 시스템이 잘 동작하는지 테스트 해보자. 

 

일단 메세지를 보낼 토픽을 생성하기

$ cd /opt/kafka/bin
$ kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test-topic

test-topic 을 생성했다.

 

정상적으로 생성이 되었는지 토픽을 확인하기

$ kafka-topics.sh --list --zookeeper zookeeper:2181

2개의 토픽이 생성되어있다.

 

이제 송신과 수식을 하려면 터미널창을 1개 더 띄우고 테스트 해야한다.

 

Test Terminal1 (송신측) - PRODUCER

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

Terminal1에서 producer를 실행하여 메세지를 입력하고

 

Test Terminal2 (수신측) - CONSUMER

$ kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning

두번째 터미널에서 consumer를 실행하면 전송한 메세지가 들어오는 것을 확인한다.

 

다음포스트는 스프링부트에 연동하는 내용이다!

반응형