2015-05-15 2 views
0

В настоящее время я пытаюсь создать небольшую демонстрационную систему Hadoop на виртуальном сервере с объемом памяти 4 ГБ. Я знаю, 4 ГБ не очень много для Hadoop - но это все, что у меня есть на данный момент. Сервер должен запускать HDFS, YARN и Spark (on Yarn) плюс несколько других вещей, не связанных с Hadoop. Итак, моя идея состояла в том, чтобы зарезервировать 2 ГБ для ОС и другой материал, который затем оставляет 2 ГБ для процессов Hadoop. К сожалению, я немного борюсь с поиском правильной конфигурации для этого сценария. То, что я до сих пор: В mapred-site.xml:Пример конфигурации Hadoop для сервера 4 ГБ?

<property> 
    <name>mapreduce.framework.name</name> 
    <value>yarn</value> 
</property> 

<property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>512</value> 
</property> 
<property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>512</value> 
</property> 

<property> 
    <name>mapreduce.map.java.opts</name> 
    <value>-Xmx400m</value> 
</property> 
<property> 
    <name>mapreduce.reduce.java.opts</name> 
    <value>-Xmx400m</value> 
</property> 

И в пряжу-site.xml:

<property> 
    <name>mapreduce.reduce.java.opts</name> 
    <value>-Xmx400m</value> 
</property> 
<property> 
    <name>yarn.scheduler.minimum-allocation-mb</name> 
    <value>256</value> 
</property> 
<property> 
    <name>yarn.scheduler.maximum-allocation-mb</name> 
    <value>2048</value> 
</property> 
<property> 
    <name>yarn.app.mapreduce.am.resource.mb</name> 
    <value>512</value> 
</property> 
<property> 
    <name>yarn.app.mapreduce.am.command-opts</name> 
    <value>-Xmx400m</value> 
</property> 

Теперь я создал очень простое приложение Spark, и там также дает следующие параметры:

  • spark.executor.memory: 512m
  • spark.cores.max: 1
  • spark.driver.memory: 512m
  • spark.executor.instances: 1
  • spark.executor.cores: 1

При выполнении этого сценария с опцией --master yarn-client все работает отлично; но при выполнении с --master yarn-cluster работа выполняется навсегда. В журнале работы с пряжей я могу прочитать это:

Начальная работа не принимала никаких ресурсов; проверьте свой пользовательский интерфейс кластера, чтобы убедиться, что работники зарегистрированы и имеют достаточные ресурсы.

Мне это как-то кажется, что ресурсов недостаточно !?

Теперь мои вопросы:

  1. У вас есть пример конфигурации для сервера 4GB Hadoop?
  2. Какую конфигурацию мне нужно изменить, чтобы получить работу Spark с --master yarn-cluster?

Большое спасибо и с наилучшими пожеланиями!

+0

искривленная версия ?? ваши конфиги выглядят нормально для меня – banjara

+0

Я использую самую последнюю версию 1.3.1 – Daniel

ответ

0

Если у вас только 4 ГБ запустить искру в автономном локальном режиме (местный [4] или местный [1]). вы получите гораздо лучшие результаты. если вы используете всю экосистему хаоса (YARN, datanode, менеджер узлов YARN, Zookeeper и т. д.) - как вы ожидаете, что у Spark останутся какие-либо ресурсы?

+0

, что меня удивляет тем, что она работает в режиме нити-клиента, а не в режиме кладки пряжи. – banjara

+0

В режиме нити-клиента искровой драйвер не работает в пряже, а в нитчатом кластере вы просите пряжу выделять ресурсы для исполнителей (ов) и драйвера –

+0

Я знаю. при настройке одиночного узла, в режиме работы пряжи вам нужен исполнитель, драйвер и AM, но только в режиме кладки пряжи только AM (драйвер запускается внутри AM) и исполнитель. Так что для этого нужны меньше ресурсов. – banjara

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