В настоящее время я бег своей программы какКак найти мастер URL для существующего искрового кластера
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: Я могу видеть, что документация переговоры о запуске что-то называется «искрового master.sh ", чтобы сделать узел основным.
В моем случае искровой кластер был настроен/поддерживается кем-то другим, и поэтому я не хочу менять топологию, открывая свой собственный мастер.
Как я могу запросить и узнать, какой узел является существующим мастером.
Я уже пытался собирание случайного узла в кластере, а затем попытаться «искра: // узел: 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]
Я заменил мастер именем имени в моем кластере. но все та же проблема. если я делаю 'http: //: 8088' он ничего не возвращает в браузере. Я использую функцию spark-submit, но я думаю, что по умолчанию он использует локальный мастер. –
с 'spark-submit' удалить' .setMaster ("local [*]") 'из искрового приложения и передать' --master spark: // master: 7077' '' spark-submit'. Все это описано в ссылке, приведенной выше. – mehmetminanc