Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

310
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda