이하는 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