인프런 커뮤니티 질문&답변

행복한 족제비님의 프로필 이미지
행복한 족제비

작성한 질문수

카프카 완벽 가이드 - 코어편

kafka 서버 구성한 기기 외 다른 기기에서 접속하고싶은데..

해결된 질문

작성

·

242

·

수정됨

0

강의에서는 한 기기에서 모든게 이루어져서

강의에서 진행되는 기기는 kafka 서버로 두고

외부 기기 2개로 producer와 consumer 코드를 실행시켜보고 싶은데

설정을 어떻게 해야할지 모르겠습니다.

검색을해보면 advertised.listeners에 IP를 입력해야 하는거 같은데

무슨 IP를 입력하면 좋을까요? 아니면 또 다른 설정이 있나요?

kafka서버 PC 한대 와 다른 PC 2대인 상황이고 같은 와이파이를 공유하고 있는 상황입니다.

producer 코드를 가진 PC를 실행시켜 kafka 서버 PC에 접속하여 consumer 코드를 가진 PC로 받고싶습니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

일단 외부 PC에서 VM 환경으로 접속하려면 VM IP address등을 port forwarding 등으로 설정해서 접속할 수 있어야 합니다. 이건 인터넷으로 검색해 보시면 찾아보실 수 있습니다. 외부 client PC에서 다른 PC의 VM에 ssh로 접속 가능한지 설정후 테스트 해보십시요.

advertised.listener는 제가 설명 드리지는 않았지만, 일반적으로 기업 환경등에서 내부에서 사용하는 ip가 아닌 외부에서 접속을 허용하는 네트웍으로 접속하기 위해서 설정합니다.

그러니까, 기업내에서 한 서버에 두개의 네트웍 카드가 있으면 하나의 네트웍 카드는 내부망에서 사용하고, 다른 하나의 네트웍 카드는 외부망에서 사용할 수 있습니다. 이렇게 해서 물리적으로 분리된 두개의 네트웍 ip를 가지고, 외부 ip만 오픈해서 외부에서 접속을 할 수 있게 합니다.

카프카는 listener와 advertised.listener 설정을 할 수 있는데, advertised.listener 설정을 별도로 하지 않으면 해당값은 listener와 동일한 값을 가지게 됩니다. 보통 기업 환경에서는 kafka broker들끼리의 통신은 내부망으로, producer/consumer는 외부망으로 접속하게 합니다. 그래서 listener와 advertised.listener 설정을 다르게 합니다.

하지만 테스트용으로는 그렇게 하실 필요가 없을 것입니다. 그냥 listener 설정만 하셔도 됩니다. 단 이때 listener에 설정된 ip는 반드시 외부에서 접속이 가능해야 합니다.

 

감사합니다

감사합니다! 시도해 볼게요!

혹시 그러면 kafka 서버 PC와 다른 대역의 PC에서 외부접속의 진행은 가능한건가요?
설정을 보니 IP가 같은 대역이 아니라서요 ㅠㅠ
같은 대역인 경우에는 포트 포워딩을 통해서 하는 방법은 얼추 숙지했는데 다른 대역인 경우는 검색해도 잘 나오지 않아서요..

권 철민님의 프로필 이미지
권 철민
지식공유자

앞에서도 말씀드렸듯이 카프카 접속이 문제가 아니라 외부 PC에서 카프카가 떠있는 VM으로 접속할 수 있도록 환경이 되어 있어야 합니다. 그런 환경이 되어야 외부에서 카프카 브로커로 접속할 수 있습니다.

넵 알겠습니다 감사합니다!

행복한 족제비님의 프로필 이미지
행복한 족제비

작성한 질문수

질문하기