2014-10-30 4 views
2

Я использую кластер hadoop (версия 1.2.0) из 16 узлов, один с открытым IP-адресом (master) и 15, подключенный через частную сеть (ведомые устройства).Хранение промежуточного вывода mapreduce на удаленном сервере

Возможно ли использовать удаленный сервер (в дополнение к этим 16 узлам) для хранения выходных данных микропроцессоров? Проблема заключается в том, что в течение фазы отображения на диске заканчивается дисковое пространство, и я больше не могу сжимать вывод карты.

Я знаю, что mapred.local.dir в mapred-site.xml используется для установки списка разделов, разделенных запятыми, где хранятся файлы tmp. В идеале, я хотел бы иметь один локальный каталог (по умолчанию) и один каталог на удаленном сервере. Когда локальный диск заполняется, я хотел бы использовать удаленный диск.

ответ

0

Решение было использовать iSCSI technology. Техник помог нам добиться этого, поэтому, к сожалению, я не могу предоставить более подробную информацию об этом.

Мы смонтировали удаленный диск на локальный путь (/mnt/disk) каждый подчиненный узел, и создали tmp там файл с rwx привилегиями для всех пользователей.

Затем мы изменили файл $HADOOP_HOME/conf/mapred-site.xml и добавил свойство:

<property> 
    <name>mapred.local.dir</name> 
    <value>/mnt/disk/tmp</value> 
</property> 

Изначально у нас было два, разделенных запятыми значения для этого свойства, при которых первое значение по умолчанию, но он по-прежнему Ждут» t, как и следовало ожидать (мы все еще получили некоторые ошибки «Нет места на устройстве»). Таким образом, мы оставили там только одно значение.

3

Я не очень уверен, что об этом, но, как в ссылке (http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml) он говорит, что:

Локальный каталог является каталогом, где MapReduce хранит промежуточные файлы данных. Может быть разделен запятыми Список каталогов на разных устройствах в заказать для распространения диска i/0. Каталоги, которые не существуют, игнорируются.

Также есть некоторые другие свойства, которые вы должны проверить. Они могут быть полезны:

  1. mapreduce.tasktracker.local.dir.minspacestart: Если пространство mapreduce.cluster.local.dir падает под этим, не просят больше задач. Значение в байтах

  2. mapreduce.tasktracker.local.dir.minspacekill: Если пространство mapreduce.cluster.local.dir падает под этим, не задавайте больше задач, пока все текущие из них не закончили и очистке , Кроме того, чтобы сохранить остальные выполняемые нами задачи, убейте один из них, чтобы очистить некоторое пространство. Начните с задач сокращения, затем переходите к тем, которые закончили минимум. Значение в байтах.

+0

+1 для двух свойств, которые действительно очень полезны. Благодаря! Я посмотрю на них глубже. Я уже знал первую часть ответа, мой вопрос - как это сделать. – vefthym

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

  • Нет связанных вопросов^_^