질문&답변
오류를 해결못하겠습니다.
Java 9 버전 이상 사용 시 (강의 : 8 버전) pom.xml 의존성 추가 javax.xml.bind jaxb-api 2.3.1
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 1087
질문&답변
Java 9 버전 이상 사용 시 (강의 : 8 버전) pom.xml 의존성 추가 javax.xml.bind jaxb-api 2.3.1
질문&답변
저도 잘은 모르지만, 댓글 남깁니다... 저는 WSL2에서 Kafka를 실행했을 때, 같은 오류를 겪었어요... wsl2 는 windows와는 별개의 가상 머신으로 실행되기 때문에 wsl2에서 localhost로 접근하면 wsl2 가상머신을 가리킨다고 하네요. 그리고 windows에서 localhost로 접근하면 windows를 가리키기 때문에 wsl2에는 접근할 수 없다고 하네요... (아닐 수도 있습니다.) 그래서 wsl2의 kafka 브로커에 연결하려면 ipv6 주소를 통해 내부 가상 머신을 카리키는 [::1] 을 사용하는 방법과, wsl2의 ip주소를 사용하는 방법이 있다고 하더라고요... 1. [::1] 사용 (IPv6) 1) vi config/ server.properties 파일에서 listeners=PLAINTEXT://[::1]:9092 로 수정 advertised.listeners=PLAINTEXT://[::1]:9092 로 수정 2) WSL2 터미널에서 consumer 확인 시, my-kafka 대신 [::1] 입력 bin/kafka-console-consumer.sh --bootstrap-server [::1]:9092 --topic test --from-beginning 3) Intellij Code에서 BOOTSTRAP_SERVERS 의 ip [::1] 로 수정 private final static String BOOTSTRAP_SERVERS = "[::1]:9092" ; 2. WSL2 IP 주소 사용 1) WSL2 터미널에서 [ ip addr | grep "eth0" ] 명령어로 ip 확인하면, 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000 2) inet [님 wsl2 ip 주소] /20 brd 172.24.79.255 scope global eth0 라는 메시지가 뜸니다. 3) 그러면 server.properties에 들어가서 listeners와 advertised.listeners를 수정해줍니다. # listeners=PLAINTEXT://:9092 # advertised.listeners=PLAINTEXT://[님 wsl2 ip 주소]:9092 WSL2 터미널에서 consumer 는 --bootstrap-server my-kafka:9092 그대로 실행해도 됩니다. 4) 인텔리제이 코드에서 BOOTSTRAP_SERVERS 의 ip 를 [님 wsl2 ip 주소]로 수정해줍니다. private final static String BOOTSTRAP_SERVERS = "[님 wsl2 ip 주소]:9092" ; 그런데 wsl2 ip주소는 aws처럼 컴퓨터 재부팅 할 때마다 바뀌어서 컴터 킬 때마다 수정해줘야 할 수도 있다고 하네요.