Size: a a a

2019 August 09

EN

Eldar Nezametdinov in Data Engineers
окей, спасибо большое что ответили....😊
всегда годные есть советы
источник

AZ

Anton Zadorozhniy in Data Engineers
Андрей Жуков
(еще надо бы поднять 2.3.2)
history server? оно внутри мейджора вроде было совместимо
источник

AZ

Anton Zadorozhniy in Data Engineers
spark это просто YARN приложение, когда вы говорите что у вас на кластере Spark 2.2 это значит что в Classpath лежит дистрибутив этой версии, и где-то запущен Spark History Server и мб Spark Thrift Server той же версии, но вам никто не мешает запускать джобы любых других версий спарка которые совместимы с этой версией YARN (то есть всех внутри Spark2)
источник

ЕГ

Евгений Глотов in Data Engineers
Eldar Nezametdinov
Инженеры!
Подскажите, вкратце,
есть потребность запустить spark2 (2.3.2+) джобы через spark-submit
на hdp 2.6.5 (где сейчас spark2.2)
Еще требования: hive, hbase коннекторы должны работать...
Какие действия надо проделать? Плохо как-то гуглится(
А как вы на хдп2.6.5 умудрились поднять спарк 2.2?
источник

ЕГ

Евгений Глотов in Data Engineers
Там же спарк 2.3
источник

ЕГ

Евгений Глотов in Data Engineers
Из коробки
источник

ЕГ

Евгений Глотов in Data Engineers
Но не 2.3.2, по-моему, более ранний
источник

EN

Eldar Nezametdinov in Data Engineers
Евгений Глотов
А как вы на хдп2.6.5 умудрились поднять спарк 2.2?
да, не 2.6.5, а 2.6.4.. не суть
источник

ЕГ

Евгений Глотов in Data Engineers
Надо на все ноды в одну и ту же папку spark распаковать, и прописать перед сессией SPARK_HOME
источник

АЖ

Андрей Жуков in Data Engineers
Евгений Глотов
Надо на все ноды в одну и ту же папку spark распаковать, и прописать перед сессией SPARK_HOME
Иначе можно прострелить себе чонить
источник

AZ

Anton Zadorozhniy in Data Engineers
Евгений Глотов
Надо на все ноды в одну и ту же папку spark распаковать, и прописать перед сессией SPARK_HOME
на все ноды-то зачем?
источник

A

Alex in Data Engineers
прострелишь точно =) и первое что это будет “shuffle-server”
источник

ЕГ

Евгений Глотов in Data Engineers
Anton Zadorozhniy
на все ноды-то зачем?
Чтобы не ловить потом эксепшены из-за изменения апи спарка с 2.2 до 2.3
источник

ЕГ

Евгений Глотов in Data Engineers
Вернее не апи, а внутрянки как раз
источник

A

Alex in Data Engineers
@oheldarkaa

офф ветка
https://github.com/apache/spark/blob/branch-2.4/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java#L135

хортон ветка
https://github.com/hortonworks/spark2-release/blob/HDP-3.1.2.1-1-tag/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java#L135

ну и там же у хортона
// Port on which the shuffle server listens for fetch requests
 private static final String SPARK_SHUFFLE_SERVICE_PORT_KEY = "spark.shuffle.service.port";
 private static final int DEFAULT_SPARK_SHUFFLE_SERVICE_PORT = 7447;


дефолтный порт у apache spark кодовой базы 7337

но дефолтные 7337 и spark_shuffle зарезервированы за spark1 в хортон платформе

поэтому если используете дефолт апач спарк, то параметрах запуска джобы обязательно указывать spark.shuffle.service.port=7447
источник

AZ

Anton Zadorozhniy in Data Engineers
Евгений Глотов
Чтобы не ловить потом эксепшены из-за изменения апи спарка с 2.2 до 2.3
у вас вообще может не быть спарка на всех нодах чтобы запускать джобы, главное чтобы на клиенте все было, ну и пограничные случаи вроде шаффла и необходимости раскидать джары (опять можно с клиента, —jars)
источник

A

Alex in Data Engineers
так же: все jar хранятся на hdfs, запуск или livy или oozie, там в конфиге указывается spark.yarn.jars/spark.jars с адресами на hdfs
источник

AZ

Anton Zadorozhniy in Data Engineers
точно
источник

ЕГ

Евгений Глотов in Data Engineers
И он будет всё перетаскивать сам
источник

EN

Eldar Nezametdinov in Data Engineers
Alex
так же: все jar хранятся на hdfs, запуск или livy или oozie, там в конфиге указывается spark.yarn.jars/spark.jars с адресами на hdfs
Круто. Никогда так не делал...
Обычно на машине --jars передавал.
источник