У меня есть установка (1.6) автономного кластера. имеют 1 мастер и добавили 3 машины в файле conf/slaves в качестве рабочих. Несмотря на то, что я выделил 4 ГБ памяти каждому из моих работников в искры, почему он использует только 1024 МБ при запуске приложения? Я бы хотел, чтобы он использовал все 4 ГБ, выделенные ему. Помогите мне выяснить, где и что я делаю неправильно.Spark рабочий память
Ниже приведен скриншот главной страницы искры (когда приложение работает с использованием spark-submit), где под колонкой Память она показывает 1024,0 МБ, которая используется в скобках рядом с 4.0 ГБ.
Я также попытался установить --executor-memory 4G опция с искровой подачей и не работает (как предложено в How to change memory per node for apache spark worker).
Эти варианты я установить в spark-env.sh файле
экспорт SPARK_WORKER_CORES = 3
экспорт SPARK_WORKER_MEMORY = 4g
экспорт SPARK_WORKER_INSTANCES = 2
Там, где это должно быть задано. Это должно быть в узле master (driver ???). В моем случае оба мастера и драйвера одинаковы. Как только я установил spark.executor.memory как 3g в spark-defaults.conf, используемая память увеличилась до 3g. Может быть, это было в документации, и я пропустил это. Но спасибо для начала. Поэтому я собираюсь отметить это как ответ. – B1K
Добро пожаловать. Из моего понимания, передавая параметр «spark.executor.memory» через скрипт, инициализирует исполнителя на рабочем месте с указанной памятью. Хотя флаг '--executor-memory' в драйвере определяет, сколько памяти должно быть зарезервировано от каждого исполнителя, чтобы можно было выполнить задание на отправку. – raschild