Я уже некоторое время пытаюсь разобраться в проблеме с памятью и просто не могу понять, в чем проблема. Любая помощь приветствуется.
Ошибка:
[![OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005662c0000, 10632822784, 0) failed; error='Cannot allocate memory' (errno=12)
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 10632822784 bytes for committing reserved memory.]
У меня есть очень маленькая искровая работа, которую я выполняю в кластере. Из различных перестановок, которые я провел, вот мои выводы: (новые кластеры в каждом случае, все идентичны по конфигурации)
ТОЛЬКО CLI - один кластер, который я запускаю и запускаю все шаги через cli, каждый шаг приводит к небольшому увеличению памяти, которое сохраняется, Ganglia показывает, что кеш-память кластера увеличивается с каждым шагом, она снова падает после завершения, но не до базы уровень. В конечном итоге это приводит к тому, что не хватает памяти для выделения новой JVM для выполнения каких-либо дополнительных шагов. использование htop в этом кластере показывает, что серверы истории искры - это процесс, интенсивно использующий основную память - может ли сервер истории хранить слишком много информации?
ТОЛЬКО КОНСОЛЬ - этот кластер был создан почти так же, как и другие, разница в том, что я добавляю шаги через консоль. (Я пришел попробовать это, так как у меня просто не было идей) Этот кластер пока выполнил только один шаг, htop показывает oozie как процесс с наибольшим потреблением памяти.
Прочее - все остальные кластеры запускались и терпели неудачу таким же образом, интересный случай, когда был запущен новый кластер, выполнен один шаг, он завершился, но постепенно потреблял память до точки, когда исключение возникло снова. Для всех этих других кластеров hadoop всегда был задачей наверху дерева процессов по потреблению памяти.
Любая помощь или предложения относительно того, как решить, были бы фантастическими, заранее спасибо.
Я приложил несколько изображений, которые могут помочь объяснить сказанное выше.