때를 보낼 수 없습니다 메시지를 보내 오류 메시지가 프로듀서를 달성 kafka2.11-0.9.0.0 : org.apache.kafka.common.errors.TimeoutException는 : 일괄 만료

카프카 내장이 의사 클러스터 기계의 시작 부분에서, 지역 생산자는 브로커에 대한 클라이언트의 성공을 발표했다. 그런 다음 카프카 클러스터 서버 (가상 머신)에 설정된 클러스터는 기계, 생산에 연결되어 있지만 수있는 브로커에 게시하지 메시지 (이상하게도 던지는 오류). 처음에는 의심의 iptables 열려 있지를 연 다음, 포트, 결과는 (그들은 문제가 코드, 오랫동안 문제의 버전 등, 시프트 것을 의심하기 시작했다) 충분하지 않습니다. 나중에 반환 정보를 인쇄, 보고서가 비정상적인 org.apache.kafka.common.errors.TimeoutException을 발견 : 일괄 만료

온라인 몇 가지 솔루션에 대한 언급은 결국 다음과 같은 구성 정보를 수정 잠금.

 

# 주소는 소켓 서버에 수신합니다. 그것은 할  반환 된 값 에서  
# java.net.InetAddress.getCanonicalHostName () 경우 구성되지합니다. 
# 형식 : 
# 리스너 = security_protocol : // 여기서 host_name : 포트 
# 예 : 
# 리스너 = PLAINTEXT : // your.host.name:9092 
청취자 = PLAINTEXT : // : 9092 
 # 호스트 이름 및 포트 브로커가 생산자와 소비자에게 광고합니다 . 그렇지 않은 경우 설정 , 
 #은이 값을 사용 하기위한  " 청취자 "  경우구성. 그렇지 않으면 값 사용 
 반환 # 에서 java.net.InetAddress.getCanonicalHostName을 (). 
 # advertised.listeners = PLAINTEXT : // your.host.name:9092

 

즉 위의 advertised.listeners은 생산자와 소비자의 연결, 설정되어 있지 않은 경우, 사용 리스너에 브로커이지만, 여기서 host_name 설정되지 않은 경우, 그것은 java.net.InetAddress.getCanonicalHostName () 메서드가 반환하는 호스트 이름을 사용.

 

수정 방법 :

server.properties 다음과 같이 수정

개정 전 : 

// : 9092 리스너 = 일반 텍스트로 

수정 

리스너 = 일반 텍스트 : //192.168.x.100 : 9092 
advertised.listeners = PLAINTEXT : //10.10.xx.252 : 9092

네트워크 주소 내에서 가상 머신이다 192.168.x.100

10.10.xx.252 서버 가상 머신 설치지도의 네트워크 주소를 벗어

가상 머신도 구성 포트 매핑 및 푸시 호스트의 가상 머신과 호스트, 프로토콜 스택에 필요한 경우.

수정을 다시 시작 카프카 서비스 후.

 

추천

출처www.cnblogs.com/copykakaxi/p/12524293.html