Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

306
Vistas
¿Cómo se utiliza Spark en los nodos de Kubernetes cuando se ejecuta en un pod?

Estoy aprendiendo Spark y me confunde ejecutar Docker que contiene código Spark en el clúster de Kubernetes .

  • Leí que spark utiliza múltiples nodos (servidores) y puede ejecutar código en diferentes nodos, para completar trabajos más rápido (y usar la memoria de cada nodo, cuando los datos son demasiado grandes)

  • Por otro lado, leí que el pod de Kubernetes (que contiene acopladores/contenedores) se ejecuta en un nodo.

Por ejemplo, estoy ejecutando el siguiente código de spark desde la docker :

 num = [1, 2, 3, 4, 5] num_rdd = sc.parallelize(num) double_rdd = num_rdd.map(lambda x: x * 2)

Algunas notas y recordatorios (según tengo entendido):

  • Al usar el comando map , cada valor de la matriz num se asigna a un nodo de chispa diferente (trabajador esclavo)
  • k8s pod se ejecuta en un nodo
  1. Entonces, estoy confundido sobre cómo Spark utilizó múltiples nodos cuando el pod se ejecuta en un nodo.
  2. ¿Los spark slave workers ejecutan en diferentes nodos, y así es como el pod que ejecuta el código anterior puede comunicarse con esos nodos para utilizar el marco de chispa?
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Cuando ejecuta Spark en Kubernetes, tiene algunas formas de configurar las cosas. La forma más común es configurar Spark para que se ejecute en modo cliente.

Básicamente, Spark puede ejecutarse en Kubernetes en un Pod... luego, la propia aplicación, que tiene los puntos finales para los maestros k8s, puede generar sus propios Pods de trabajo , siempre que todo esté configurado correctamente.

Lo que se necesita para esta configuración es implementar la aplicación Spark en Kubernetes (generalmente con un StatefulSet, pero no es obligatorio) junto con un servicio ClusterIP sin cabeza (que es necesario para que los Pods de trabajadores puedan comunicarse con la aplicación maestra que los generó)

También debe proporcionar a la aplicación Spark todas las configuraciones correctas, como el punto final maestro k8s, el nombre del pod y otros parámetros para configurar las cosas.

Hay otras formas de configurar Spark, no hay obligación de generar Pods de trabajadores, puede ejecutar todas las etapas de su código localmente (y la configuración es fácil, si tiene trabajos pequeños con una pequeña cantidad de datos para ejecutar, no necesita trabajadores)

O puede ejecutar la aplicación Spark externamente desde el clúster de Kubernetes, por lo que no en un pod... pero dándole los puntos finales maestros de Kubernetes para que aún pueda generar trabajadores en el clúster (también conocido como modo de clúster)

Puede encontrar mucha más información en la documentación de Spark, que explica casi todo para configurar las cosas ( https://spark.apache.org/docs/latest/running-on-kubernetes.html#client-mode ) y puede leer sobre StatefulSets y su uso de servicios ClusterIP sin cabeza aquí ( https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ )

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda