В настоящее время я запускаю свою программу как
val conf = new SparkConf()
.setAppName("Test Data Analysis")
.setMaster("local[*]")
.set("spark.executor.memory", "32g")
.set("spark.driver.memory", "32g")
.set("spark.driver.maxResultSize", "4g")
Несмотря на то, что я запускаю кластер из 5 машин (каждый с физической памятью 376 ГБ). ошибки моей программы с помощью java.lang.OutOfMemoryError: Java heap space
Размеры моих данных большие... но не настолько большие, что они превышают 32 ГБ памяти Executor * 5 узлов.
Я подозреваю, что это может быть потому, что я использую "локальный" в качестве моего хозяина. Я видел, что документация говорит об использовании spark://machinename:7070
Однако я хочу знать для своего кластера... как определить этот URL-адрес и порт
EDIT: Я вижу, что в документации говорится о запуске чего-то, называемого "spark-master.sh", чтобы сделать узел мастером.
в моем случае искровой кластер настраивался/поддерживался кем-то другим, поэтому я не хочу менять топологию, открывая свой собственный мастер.
Как я могу запросить и узнать, какой узел является существующим мастером.
Я уже попытался собрать случайный узел в кластере, а затем попробовать "spark://node: 7077", но это не работает и дает ошибку
[15/11/03 20:06:21 WARN AppClient$ClientActor: Could not connect to
akka.tcp://[email protected]:7077:
akka.remote.EndpointAssociationException: Association failed with
[akka.tcp://[email protected]:7077]