Spark на DCOS: сделайте диспетчер доступным из-за пределов кластера

Мы установили сервис spark из каталога marathon на кластер DCOS.

Конфигурация json службы выглядит следующим образом:

{
  "service": {
    "name": "spark",
    "cpus": 1,
    "mem": 1024,
    "role": "*",
    "service_account": "",
    "service_account_secret": "",
    "user": "root",
    "docker-image": "mesosphere/spark:2.3.1-2.2.1-2-hadoop-2.6",
    "log-level": "INFO",
    "spark-history-server-url": "http://internal-tfef5a-int-master-elb-1145533197.eu-east-1.elb.amazonaws.com/service/spark-history",
    "UCR_containerizer": false,
    "use_bootstrap_for_IP_detect": false
  },
  "hdfs": {
    "config-url": "http://api.hdfs.marathon.l4lb.thisdcos.directory/v1/endpoints"
  }
}

Учитывая, что пользовательский интерфейс marathon не позволяет напрямую редактировать сервисный порт, как правильно открыть диспетчер, чтобы можно было выполнять spark-submit со своей собственной рабочей станции?

spark-mesos


person pkaramol    schedule 15.11.2018    source источник


Ответы (1)


Вы должны запустить диспетчер за пограничным прокси. См. здесь, как это сделать.

Другой способ — запустить его на публичном агенте. Это можно сделать, установив acceptedResourceRoles":["slave_public"] см. здесь

person janisz    schedule 15.11.2018
comment
если я отредактирую конфигурацию службы json (для службы spark, которую я установил из каталога) и добавлю acceptedResourceRoles":["slave_public"], сделает ли это ее автоматически доступной/маршрутизируемой с моей рабочей станции? - person pkaramol; 15.11.2018
comment
Неа. Он будет доступен только с IP и портом, полученными вручную из марафона. Чтобы получить маршрутизируемую конечную точку на одном порту, вам необходимо настроить прокси. - person janisz; 15.11.2018