как мы можем использовать один и тот же контекст искры - PullRequest
0 голосов
/ 06 октября 2018

Мы пытаемся интегрировать Spark в наше веб-приложение.Итак, что мы сделали, так это интегрировали искровой двигатель в один из наших микро сервисов.Микро сервис создает постоянное соединение с искрой, поэтому он будет обслуживать все запросы пользователей.Но проблема в том, что у нас есть 3 экземпляра одного и того же микро-сервиса.Таким образом, каждый создаст различную связь со Spark.Как мы можем избежать этого.Я хочу общее соединение.Возможно ли это с текущей реализацией?

            spark = SparkSession
                .builder()
                .appName("MyApp")
                .config("spark.cassandra.connection.host", cassandraHost)
                .config("spark.cassandra.connection.port", cassandraPort)
                .config("spark.scheduler.mode", schedularMode)
                .config("spark.executor.instances",executorInstance)
                .config("spark.executor.cores",executorCores)
                .config("spark.executor.memory",executorMemory)
                .master(master).getOrCreate();

Не могли бы вы посоветовать лучший подход для обработки этого сценария.

1 Ответ

0 голосов
/ 06 октября 2018

Я предполагаю, что вы используете автономный кластер.

Для распределенных приложений вы можете интегрировать свои микросервисы с использованием некоторой формы техники высокой доступности.

Один из подходов (который я успешно использовал) состоит в том, чтобы эти микросервисы формировали кластер таким образом, чтобы все запросы на искрузадания будут обслуживаться участником с активным драйвером (в некотором смысле, мастером).Hazelcast, Ignite, JGroups - некоторые из инструментов кластеризации, которые можно использовать.Это дает дополнительное преимущество, заключающееся в том, что вы можете перезапустить свой драйвер, когда он умрет.

Существуют также системы, позволяющие повторное использование контекста искры через протоколы, такие как http (тот, который приходит на ум, это spark-job- job-сервер).В Apache Ignite, похоже, есть и искровой компонент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...