Software Workshop

이하는 Kafka 2.5.x를 기준으로 설명함

Kafka를 설치하고 서비스를 시작함

brew install kafka
brew services start zookeeper
brew services start kafka

서비스가 잘 실행되었는지 확인할 수 있도록 lsof를 설치함

2181번 포트에 대해 Zookeeper가 listen하고 있는지 확인함

9092번 포트에 대해 Kafka가 listen하고 있는지 확인함

brew install lsof
lsof -i :2181
lsof -i :9092 

혹시 Zookeeper가 실행되지 않은 이유로 Kafka가 정상 동작하지 않는다면 Zookeeper를 실행하는 것을 잊으면 안 됨

2020-07-15 10:09:43,964 WARN AdminClient clientId=adminclient-1 Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

콘솔 CLI 도구를 이용하여 테스트해볼 수 있음

my-input-topic이라는 이름의 topic을 생성함

kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic my-input-topic

topic이 잘 생성되었는지 확인함

kafka-topics --list --bootstrap-server localhost:9092

이 topic에서 데이터를 꺼낼 수 있도록 consumer를 미리 실행해 둠

kafka-console-consumer --bootstrap-server localhost:9092 --topic test-topic

이 topic에 데이터를 밀어넣음

(echo "hello"; echo "world"; echo "java"; echo "coffee") | kafka-console-producer --bootstrap-server localhost:9092 --topic test-topic