Mac(IOS-M1칩)환경 도커(docker) + 카프카(kafka) 환경 구성하기 (2)
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를 실행하면 전송한 메세지가 들어오는 것을 확인한다.
다음포스트는 스프링부트에 연동하는 내용이다!