소개
게시글
질문&답변
오류를 해결못하겠습니다.
Java 9 버전 이상 사용 시 (강의 : 8 버전)pom.xml 의존성 추가 javax.xml.bind jaxb-api 2.3.1
- 0
- 3
- 945
질문&답변
SimpleProducer 실행 시 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected 오류
저도 잘은 모르지만, 댓글 남깁니다...저는 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-beginning3)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 10002)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 주소]:9092WSL2 터미널에서 consumer 는 --bootstrap-server my-kafka:9092 그대로 실행해도 됩니다.4)인텔리제이 코드에서 BOOTSTRAP_SERVERS 의 ip 를 [님 wsl2 ip 주소]로 수정해줍니다.private final static String BOOTSTRAP_SERVERS = "[님 wsl2 ip 주소]:9092";그런데 wsl2 ip주소는 aws처럼 컴퓨터 재부팅 할 때마다 바뀌어서 컴터 킬 때마다 수정해줘야 할 수도 있다고 하네요.
- 0
- 2
- 2.2K