Exposition de brokers Kafka sur deux interfaces résaux

Exposition de brokers Kafka sur deux interfaces résaux

L’un des clusters sur lesquels nous travaillons est constitué de deux réseaux:
– Un vlan “interne” dédié au cluster et accessible des noeuds Worker
– Un vlan “data” exposé les noeuds Edge, Kafka et Master à l’extérieur du cluster

Kafka est utilisé pour l’ingestion de données en entrée et la publication de données traitées en sortie. Les données publiées sont consommées par d’autres systèmes exposant des interfaces graphiques à destination des Data Analysts.

Ainsi, les brokers Kafka sont à cheval entre:
– des job Spark Streaming qui consomment les topics Kafka depuis YARN à l’intérieur du vlan “interne”
– des applicatifs qui consomment des topics Kafka en dehors du cluster à l’intérieur du vlan “data”

Les brokers Kafka doivent être visible des deux interfaces réseaux. Pour ce faire, les brokers Kafka doivent être configurés avec un nom de machine consistent entre les 2 vlans et la configuration suivante doit être appliquée depuis la section “kafka.properties safety valve” dans le Cloudera Manager:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<hostname>:9092

Note, Kafka écoute sur toutes les interfaces au lieu d’une seule. Par exemple, Kafka peut être configuré pour écouter une IP précise avec la configuration suivante :

Mais cette exception sera lancée au démarrage:

 

ainsi qu’un message du type “Each listener must have a different protocol”.

Voilà!

Cette article fût réalisé depuis un cluster basé sur la distribution CDH 5.7.1 installé à partir de parcelles et embarquant Kafka 2.0.1.5.

By | 2017-10-24T12:13:53+00:00 July 13th, 2017|Blog|0 Comments

About the Author:

Leave A Comment

Time limit is exhausted. Please reload the CAPTCHA.