-
Hyper-V 가상 linux/ubuntu, Kafka 서버 외부에서 접속하기컴퓨터/Kafka 2020. 12. 17. 11:54728x90반응형
Ubuntu 기준
자꾸 프로세스 사용 중 오류가 뜨고, confluent를 이용하기 위해 ubuntu로 서버를 만들었다.
1. Hyper-V 가상 환경 랜 설정
외부용과 내부용을 따로 만들어서 설정했다.
Hyper-V 관리자 - 가상 스위치 관리자에서 새로 만들기로 외부/내부용을 만들어준다.
(IP 알아서 잡아줌)
가상 스위치 만들기
Hyper-V 가상 환경 네트워크 변경
Hyper-V로 가상 환경 만드는 법은 관리자에서 새로 만들기 하고 절차만 따라 하면 금방 만들어진다.
가상 환경의 설정으로 들어가서 네트워크 어댑터를 바꿔준다.
(ubuntu iso를 다운로드하여서 설치)
네트워크 공유
외부 네트워크 - 우클릭 - 공유에서 내부로 설정한 NAT으로 공유해준다.
2. 가상 환경에서 Apache Kafka 설정
외부에서 클라이언트로 카프카 서버에서 접속하기 위해서는 listener 설정을 바꿔줄 필요가 있다.
INTERAL과 EXTERNAL 프로토콜 설정
PLAINTEXT = listener가 비인증, 암호화 없는 상태
(SSL로도 할 수 있으니, 다음 프로토콜 문서 확인: @링크)
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
# 상호 브로커 통신으로 PLAINTEXT를 사용한다. inter.broker.listener.name=INTERNAL
listeners와 advertised.listeners
listerners 설정은 가상 환경 localhost 포트 9092와 0.0.0.0 포트 9093으로 설정
(advertised.listeners은 말 그대로 외부에서 어떤 주소로 접속할 수 있는지 알려주는 설정)
listeners=INTERNAL://localhost:9092,EXTERNAL://0.0.0.0:9093 advertised.listeners=INTERNAL://localhost:9092,EXTERNAL://외부접속IP:9093
이 글에선 Hyper-V 내부 IP로 외부에서 접속할 것이기 때문에, 외부 접속 IP에 아래 IP를 확인 후 적어준다.
(192.168.137.232)
9093 포트 열기
sudo iptables -I INPUT 1 -p tcp --dport 9093 -j ACCEPT
3. 결과
Config.VM_SERVER에 열어둔 ip:포트 입력 후, Hello라는 값이 잘 전달됐다.
참고
Cloud Dataflow를 사용하여 Kafka의 외부 호스팅 메시지 처리 @구글
개인 Apache Kafka 공부 (Java, Python) @Github
728x90'컴퓨터 > Kafka' 카테고리의 다른 글
Apache Kafka: local을 위한 명령어 인터페이스 (CLI) (0) 2020.12.18 Windows Kafka: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다. (0) 2020.12.15 Kafdrop: Kafka 웹 UI (0) 2020.12.04