Kafka Producer, Consumer와 Kafka의 서버가 분리되어 있다면 Kafka에 외부 접속을 허용해줘야 합니다.
우선 Kafka가 설치된 서버에서 방화벽을 열어줘야 합니다. Kafka의 포트를 변경하지 않았다면 기본적으로 9092 포트를 사용하기 때문에 9092 포트를 열어줍니다.
그다음에 Kafka 서버의 설정 파일을 수정해줍니다.
server.properties 파일을 열어서 아래와 같이 listeners, advertised.listeners, zookeeper.connect 정보를 추가해줍니다.
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://kafka가 설치된 서버 IP:9092
zookeeper.connect=kafka가 설치된 서버 IP:2181
기본적으로 broker가 id 0번으로 하나 설정되어 있습니다.
해당 내용 아래에 이어서 listeners, advertised.listeners, zookeeper.connect 정보를 추가로 작성해줍니다.
listeners는 kafka broker가 내부적으로 바인딩하는 주소입니다.
advertised.listeners는 kafka broker가 producer, consumer에게 노출할 주소를 적어주면 됩니다.(kafka가 설치된 서버의 IP와 포트를 적어주면 됩니다.)
마찬가지로 zookeeper.connect는 zookeeper가 설치된 서버의 IP와 포트를 적어주면 됩니다.
설정을 완료 후에 Kafka 서버를 재시작 해주면 외부에서 produce와 consume이 되는것을 확인할 수 있습니다.
참고자료
https://gogo-jjm.tistory.com/60
https://shinwusub.tistory.com/133
'개발 > Kafka' 카테고리의 다른 글
Spring Boot에서 Kafka Topic이 Consume 안되는 현상 수정 (1) | 2024.01.29 |
---|---|
Kafka 서버 비정상적 종료 에러 해결 (다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다) (0) | 2024.01.25 |
Spring boot 프로젝트에서 kafka를 consume 할때 역직렬화 에러 메세지 반복 현상 해결 (0) | 2024.01.16 |
[Apache Kafka] sink connector 오류 수정 (0) | 2023.12.12 |
[Apache Kafka] topic 삭제 후 재생성시 producer 동작 안하는 현상 (1) | 2023.12.11 |