Если у моего сервера 50 ГБ памяти, Hbase использует 40 ГБ. И когда я запускаю Spark, я устанавливаю память как --executor-memory 30G
. Так что Spark захватит некоторую память от Hbase, так как осталось всего 10 ГБ. Другой вопрос, если Spark нужен только 1 ГБ памяти, но я дал Spark 10G памяти, Spark займет 10 ГБ памяти.Как Spark занимает память
ответ
Поведение будет отличаться в зависимости от режима развертывания. Если вы используете локальный режим, то --executor-memory
ничего не изменит, так как у вас только 1 Executor, и это ваш драйвер, поэтому вам нужно увеличить память вашего драйвера.
В случае, если вы используете автономный режим и отправкой задания в режиме кластера, то следующий будет применяться: -
--executor-memory
это память требуется на исполнителя. Это размер кучи исполнителей. По умолчанию 60% сконфигурированной --executor-memory используется для кеширования RDD. Остальные 40% памяти доступны для любых объектов, созданных во время выполнения задачи. это эквивалентно -Xms и -Xmx. поэтому, если вы предоставите больше доступной памяти, тогда ваши исполнители покажут ошибки в отношении недостаточной памяти.
Когда вы предоставляете память 30-разрядного исполнительного устройства Spark, ОС не даст ему реальной физической памяти. Но как и когда ваш исполнитель требует, чтобы фактическая память либо кэшировала, либо обрабатывала, это приведет к тому, что другие процессы, такие как hbase, будут заменены. Если ваш обмен системой установлен на ноль, вы столкнетесь с ошибкой OOM.
ОС Сворачивает незанятую часть процесса, которая может заставить ваш процесс вести себя очень медленно.
- 1. Как HashMap занимает память?
- 2. rsyslog занимает огромную память
- 3. Spark, Как добавить дополнительную память?
- 4. Как установить память исполнителя Spark?
- 5. Spark рабочий память
- 6. Spark-запрос занимает слишком много времени
- 7. Spark: groupBy занимает много времени
- 8. PNG Прозрачный пиксель занимает память?
- 9. JavaFX занимает память и увеличивается?
- 10. JxBrowser занимает огромную оперативную память
- 11. Объявление переменной уже занимает память
- 12. Почему метод SaveChanges занимает память?
- 13. Нетти ByteBuf занимает всю память
- 14. Занимает ли неинициализированная переменная память?
- 15. Как принудительно сохранить память Spark DataFrames?
- 16. Как принудительно сортировать память в Spark SQL?
- 17. Как установить память Apache Spark Executor
- 18. Как вычисляется виртуальная память в Spark?
- 19. Не удается установить память Spark
- 20. Память освобождения от работы Spark
- 21. Spark: sc.WholeTextFiles занимает много времени, чтобы выполнить
- 22. Spark UDF, который занимает неизвестное количество столбцов
- 23. Redis занимает всю память сервера. Что делать?
- 24. ли нуль занимает память в MySQL
- 25. printf in C не занимает память?
- 26. Многопроцессорность Python - один процесс занимает огромную память
- 27. Неужели рухнувший контроль все еще занимает память?
- 28. UIImagePickerController не освобождает память, которую он занимает
- 29. Занимает ли NULL память в javascript?
- 30. sbt - Building Spark занимает слишком много времени
Отчасти ответили на ваш вопрос. Для полного решения вам нужно добавить дополнительную информацию об окружающей среде, а также Когда вы говорите, что ** я дал Spark 10G memory **, о каком параметре вы говорите? Пожалуйста, добавьте то же самое, что и часть вашего вопроса, и я разработаю предоставленный ответ. – Sumit