Как использовать карту руля для зажигания на k8s - PullRequest
2 голосов
/ 18 апреля 2019

Я новичок в Искра .Я пытаюсь заставить spark работать на k8s , используя диаграмму руля: стабильный / искра .Я могу видеть, что он раскручивает 1 master и 2 исполнителя по умолчанию и выставляет порт: 8080 на ClusterIP.

Теперь я открыл порт: 8080 через elb, чтобы я мог видеть UI.

Вопрос в том, должен ли я всегда печь * 1023?* или pySpark код на изображении, которое я использую для вращения мастера, или у меня есть другой вариант?

Я не хочу использовать k8s в качестве диспетчера кластеров для spark.Я пытаюсь выяснить, есть ли способ разместить spark в качестве приложения на k8s и отправить ему задания, так как это автономный кластер с рабочими узлами.

, поэтому вместо использования:

spark-submit \
...
--master k8s://https://KUBECLUSTER-DNS-ADDRESS

Я хочу сделать:

spark-submit \
...
--master spark://SPARK-MASTER-ELB-DNS

Кроме того, я стараюсь избегать выпекания job на изображении искрового докера

1 Ответ

1 голос
/ 18 апреля 2019

Я не хочу использовать k8s в качестве Cluster Manager для spark.Я пытаюсь увидеть, есть ли способ разместить Spark в качестве приложения на k8s и передать ему задания, так как это автономный кластер с рабочими узлами.

Вы можете использовать client или cluster режим .

клиент:

# Run on a Spark standalone cluster in client deploy mode
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://IP-ADDRESS-OF-MASTER:7077 \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

кластер:

./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://IP-ADDRESS-OF-MASTER:7077 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

Также я стараюсь не запекать работу в образе искрового докера.

Единственный способ - использовать режим client.По сути, ваш драйвер будет находиться на любой машине, с которой вы запускаете spark-submit, и для этого потребуется все биты, необходимые для выполнения вашей работы.Единственным недостатком является то, что вы можете быть подвержены задержке в сети, если клиент не расположен совместно с вашим кластером Kubernetes.

В режиме cluster у вас будет возможность запекать содержимое в образ контейнера, потому что ваш драйвер может запуститьсяна любом из контейнеров / модулей, которые являются ведомыми в вашем кластере.

...