Требования к установке ADB Spark Connector
Чек-лист
Перед установкой и использованием ADB Spark Connector убедитесь в том, что выполнены следующие требования:
-
Есть доступ к кластеру ADB.
-
Есть доступ к кластеру Spark.
-
Есть соединение между нодой ADB master и драйвером Spark.
-
Есть соединение между нодой ADB master и каждой executor-нодой Spark.
-
Есть соединение между нодой каждого сегмента ADB и каждой executor-нодой Spark.
Необходимо предоставить особые права пользователю, от имени которого будет осуществляться доступ из Spark к таблицам ADB. Эти права включают создание внешних таблиц. Вы можете использовать следующий образец:
ALTER ROLE <role_name>
WITH CREATEEXTTABLE(protocol='gpfdist',type='readable')
CREATEEXTTABLE(protocol='gpfdist',type='writable');
где <role_name> — имя пользователя в ADB.
Также потребуется настроить доступ выбранного пользователя к таблицам ADB c хостов Spark в файле pg_hba.conf (см. Примеры использования ADB Spark Connector).
Память
Spark нормально функционирует, потребляя объем памяти от восьми до нескольких сотен гигабайт на рабочую машину. Для Spark рекомендуется выделять не более 75% памяти; часть памяти следует оставить на нужды операционной системы и кеша буфера.
Количество требуемой памяти зависит от приложения. Чтобы определить количество памяти, необходимое приложению для определённого набора данных, загрузите часть вашего набора данных в Spark RDD, затем перейдите на вкладку Storage в UI для мониторинга Spark (http://<driver-node>:4040) и посмотрите количество памяти для этой части данных. На использование памяти влияют уровень хранения (storage level) и формат сериализации. В руководстве по настройке вы можете найти советы о том, как снизить использование памяти.
|
ПРИМЕЧАНИЕ
Виртуальная машина Java не всегда хорошо работает, если объём RAM превышает 200 ГБ. Если вы приобрели машины с большим объёмом RAM, вы можете запустить несколько виртуальных worker-машин Java на каждой ноде. Для standalone-режима Spark вы можете установить число worker-машин на ноде с помощью переменной SPARK_WORKER_INSTANCES в скрипте conf/spark-env.sh. Вы также можете установить число ядер на worker-машине с помощью переменной SPARK_WORKER_CORES.
|
Сетевое соединение
ADB Spark Connector использует протокол gpfdist для передачи данных между сегментами ADB и executor-нодами Spark. По умолчанию, коннектор запускает инстанс сервера gpfdist в диапазоне портов [8080 .. 65536].
|
ВАЖНО
Удостоверьтесь, что в вышеуказанном диапазоне есть открытые порты. Порты должны быть доступны из ADB master.
|