2015-08-13 3 views
1

У меня есть полный стек Apache/Apache zeppelin, работающий на машине с очень небольшим количеством ресурсов (512 МБ), который падает.Как уменьшить площадь памяти памяти apache?

Spark Command: /usr/lib/jvm/java/bin/java -cp /home/ec2-user/spark-1.4.1-bin-hadoop2.6/sbin/../conf/:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/spark-assembly-1.4.1-hadoop2.6.0.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar -Xms512m -Xmx512m -XX:MaxPermSize=256m org.apache.spark.deploy.master.Master --ip ip-172-31-24-107 --port 7077 --webui-port 8080 
======================================== 
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000daaa0000, 357957632, 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 357957632 bytes for committing reserved memory. 
# An error report file with more information is saved as: 
# /tmp/jvm-17290/hs_error.log 

Я знаю, что это плохая идея, но у меня нет больше нигде, чтобы проверить это, и хотел бы, чтобы иметь возможность изучить некоторый код + апача лестницы искры ...

Есть способ уменьшить объем памяти на искру, чтобы я мог выполнять свои тесты?

благодаря

+0

Существует мало что можно сделать с этой небольшой памятью. Если у вас нет кластера, попробуйте использовать Amazon EC2 со сценариями, поставляемыми с дистрибутивом Spark, 'spark-ec2'. –

+0

yep Я пробовал это, и он создаст кластер (1 мастер и 1 рабочий). Я хотел бы иметь как на одной машине, так что я могу запустить ее в течение всего месяца ... –

ответ

5

Apache дирижабль является отличным инструментом, но я видел то же самое, занимает много оперативной памяти. Вы можете использовать команду, например, в исходной папке искры, bin/spark-shell даст вам искровую scala-оболочку, но ее не очень красиво и интуитивно понятно.

Вы можете использовать eclipse (scala IDE) или IntelliJ (имеет плагин scala) для разработки искровой scala, просто нужно добавить банки с maven или sbt.

Вы можете сделать свое прототипирование в оболочке scala и скопировать пасту в среду IDE.

Также проверьте https://github.com/andypetrella/spark-notebook, он берет меньший отпечаток ОЗУ. Искры сами по себе принимают меньше, но zeppelin занимает много места, из того, что я видел.

Также для ноутбука scala: https://github.com/alexarchambault/jupyter-scala, то вы можете добавить искровые банки в env, создать объект sparkContext и использовать его. Надеюсь, что помогает.

Pls, upvote, если это помогает.

+0

Идя по тем же линиям, я использовал экземпляр Amazon EC2 объемом 1 ГБ для Zeppelin. И не мог понять причину неудачи. Итак, то, что я делал в конце, - это отказаться от экземпляра Free Tier и создать экземпляр большего размера (RAM). И это сработало отлично. –

Смежные вопросы