4 votes

Comment configurer le client Spark fonctionnant dans un conteneur Docker pour une communication bidirectionnelle avec un cluster Spark distant ?

spark-submit semble nécessiter une communication bidirectionnelle avec un cluster Spark distant afin d'exécuter des travaux.

Cette configuration est facile à réaliser entre machines (10.x.x.x à 10.x.x.x et retour) mais devient confuse lorsque Docker ajoute une couche supplémentaire de mise en réseau (172.x.x.x par 10.x.x.x à 10.x.x.x et retour à 172.x.x.x par 10.x.x.x en quelque sorte).

Spark ajoute une couche supplémentaire de complexité avec ses SPARK_LOCAL_IP y SPARK_LOCAL_HOSTNAME paramètres de configuration pour le client.

Comment le réseau Docker doit-il être configuré pour permettre cela ?

0 votes

Qu'avez-vous essayé ?

0 votes

En supposant que vous disposez d'enregistrements DNS et que l'hôte Docker se trouve sur le même réseau que le cluster Spark, SPARK_LOCAL_HOSTNAME doit être défini sur le nom de domaine entièrement qualifié de l'hôte Docker et les ports de conteneur pertinents doivent être exposés sur l'hôte.

0voto

BabbarTushar Points 101

Vous pouvez exécuter les conteneurs docker avec host mode réseau. Dans votre fichier de composition, vous pouvez ajouter la configuration suivante :

services:
  worker0:
    container_name: container0
    cpuset: 0-4
    entrypoint: /entrypoint.sh
    environment:
        - SPARK_MASTER=10.34.221.247
        - RAM=16g
        - NUM_WORKERS=5
        - SHUFFLE_PORT=7338
    expose:
        - 7000-64000
    image: 10.47.7.214/spark-worker
    mem_limit: 16g
    network_mode: bridge
    tty: true

Cependant, je rencontre encore des problèmes avec cette configuration. Les travaux démarrent normalement mais le pilote docker ne parvient pas à se connecter aux exécuteurs. Vous pouvez au moins essayer ceci pour le moment.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X