kafka listeners 와 advertised. listeners 의 차이 및 응용
kafka 0.9. x 이후 버 전 은 advertised. listeners 설정 kafka 0.9. x 이후 버 전 은 advertised. host. name 과 advertised. host. port 를 사용 하지 마 십시오. deprecated host. name 과 port 는 deprecated 이 며, listeners 로 대체 합 니 다.
listeners
listeners: Listener List - Comma-separated list of URIs we will listen on and the listener names. If the listener name is not a security protocol, listener.security.protocol.map must also be set. Specify hostname as 0.0.0.0 to bind to all interfaces. Leave hostname empty to bind to default interface. Examples of legal listener lists: PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093 Type: stringDefault: nullValid Values: Importance: highUpdate Mode: per-broker
advertised.listeners
advertised.listeners: Listeners to publish to ZooKeeper for clients to use, if different than the listeners config property. In IaaS environments, this may need to be different from the interface to which the broker binds. If this is not set, the value for listeners will be used. Unlike listeners it is not valid to advertise the 0.0.0.0 meta-address. Type: stringDefault: nullValid Values: Importance: highUpdate Mode: per-broker
차 이 를 소개 하 다
회사 내 네트워크 에 kafka 군집 을 배치 하려 면 listeners 만 사용 하고 내외 망 을 구분 해 야 할 때 advertised. listeners 를 사용 해 야 합 니 다.
그러면 먼저 문자 클래스 설명 을 보십시오.
예 를 들 면:
listeners=INSIDE://172.17.0.10:9092,OUTSIDE://:
advertised.listeners=INSIDE://172.17.0.10:9092,OUTSIDE://:
listener.security.protocol.map=INSIDE:SASL_PLAINTEXT,OUTSIDE:SASL_PLAINTEXT
inter.broker.listener.name=INSIDE
advertised_listeners 모니터 는 zookeeper 에 등 록 됩 니 다.
172.17.0.10: 9092 에 연결 을 요청 하면 kafka 서버 는 zookeeper 에 등 록 된 모니터 를 통 해 INSIDE 모니터 를 찾 은 다음 listeners 를 통 해 해당 하 는 통신 ip 과 포트 를 찾 습 니 다.
마찬가지 로 포트 에 연결 을 요청 하면 kafka 서버 는 zookeeper 에 등 록 된 모니터 를 통 해 OUTSIDE 모니터 를 찾 은 다음 listeners 에서 해당 하 는 통신 ip 과 포트 172.17.0.10: 9094 를 찾 습 니 다.
총화: advertisedlisteners 는 대외 적 으로 노출 된 서비스 포트 로 진정 으로 연결 을 만 드 는 데 사용 되 는 것 은 listeners 이다.
무슨 장면
네트 밖 에 없어 요.
예 를 들 어 회사 에서 구축 한 kafka 클 러 스 터 는 내부 네트워크 의 서비스 만 사용 할 수 있 습 니 다. 이런 상황 에서 listeners 만 사용 하면 됩 니 다.
listeners=://:
예 를 들 면:
listeners=SASL_PLAINTEXT://192.168.0.4:9092
내외 망
docker 에 있 거나 아 리 클 라 우 드 호스트 에 kafka 군집 을 배치 하 는 경우 advertised 를 사용 해 야 합 니 다.listeners。
docker 를 예 로 들 면:
listeners=INSIDE://0.0.0.0:9092,OUTSIDE://: ( 0.0.0.0: )
advertised.listeners=INSIDE://localhost:9092,OUTSIDE://:
listener.security.protocol.map=INSIDE:SASL_PLAINTEXT,OUTSIDE:SASL_PLAINTEXT
kafka_inter_broker_listener_name:inter.broker.listener.name=INSIDE
클 라 이언 트 연결 kafka 클 러 스 터 프로 세 스
listeners=INSIDE://0.0.0.0:9092,OUTSIDE://0.0.0.0:8092(: )
advertised.listeners=INSIDE://127.0.0.1:9092,OUTSIDE://hostname:8092(: )
consumer 또는 producer 클 라 이언 트 는 listeners 의 OUTSIDE 를 통 해 kafka 군집 을 연결 한 다음 에 kafka 군집 을 통 해 zookeeper 군집 에 가서 topic partition 의 leader 를 찾 습 니 다. 다음 과 같 습 니 다.
get /kafka/brokers/topics/test.1/partitions/0/state {“controller_epoch”:1,“leader”:11,“version”:1,“leader_epoch”:0,“isr”:[11]}
리더 id 를 통 해 리더 의 endpoints 를 찾 습 니 다. (즉, ZK 에 발 표 된 advertised. listeners 인 자 를 클 라 이언 트 가 사용 할 수 있 도록 합 니 다)
get /kafka/brokers/ids/11 {“listener_security_protocol_map”:{“INSIDE”:“PLAINTEXT”,“OUTSIDE”:“PLAINTEXT”},“endpoints”:[“INSIDE://127.0.0.1:9092”,“OUTSIDE://hostname:8092”],“jmx_port”:-1,“host”:“127.0.0.1”,“timestamp”:“1587019055745”,“port”:9092,“version”:4}
kafka 클 라 이언 트 에 게 호스트 이름과 포트 가 열 린 Kafka 서 비 스 를 어떤 프로 토 콜 로 방문 할 지 알려 줍 니 다.
참고: Kafka - listener 설정 매개 변수, 네트워크 접근 설정 및 발생 할 수 있 는 문제 kafka - advertised. listeners and listeners 는 ip 주 소 를 철저히 알 고 localhost, 127.0.0.0.1 과 0.0.0.0 을 구분 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring Cloud를 사용한 기능적 Kafka - 1부지금까지 찾을 수 없었던 Spring Cloud Kafka의 작업 데모를 만들기 위해 이 기사를 정리했습니다. Confluent 스키마 레지스트리 7.1.0 이 기사는 먼저 Spring Cloud Stream을 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.