Кластер Hadoop по NFS - PullRequest
2 голосов
/ 30 июля 2011

Я пытаюсь настроить кластер hadoop на 5 машинах на той же локальной сети с NFS.Проблема, с которой я сталкиваюсь, заключается в том, что копия hadoop на одном компьютере реплицируется на все машины, поэтому я не могу предоставить эксклюзивные свойства для каждого ведомого устройства.Из-за этого я получаю ошибки типа «Не удается создать блокировку».FAQ предлагает, чтобы NFS не использовался, но у меня нет другого выбора.Есть ли способ, где я могу указать свойства, как, Master должен выбрать свои файлы conf из location1, slave1 должен выбрать свои файлы conf из location2 .....

1 Ответ

1 голос
/ 17 августа 2011

Просто чтобы прояснить, есть разница между конфигурациями для вычислительных узлов и хранилищем HDFS.Ваша проблема, кажется, является исключительно хранилищем для конфигураций.Это можно и нужно делать локально, или, по крайней мере, позволить каждому компьютеру отображать символическую ссылку на основе определенной локально определенной конфигурации (например, Mach01 -> / etc / config / mach01, ...).

(Редакция 1) Относительно комментария / вопроса ниже о символических ссылках: Во-первых, я собираюсь признать, что это не то, что я могу немедленно решить.Я вижу 2 подхода:

  1. Наличие сценария (например, при запуске или в качестве оболочки для запуска Hadoop) на компьютере, определяющего имя хоста (например, hostname -a') which then identifies a local symlink (e.g. / usr / local / hadoopConfig ')в правильную директорию в структуре каталогов NFS.
  2. Задайте переменную среды, например, HADOOP_HOME, основанную на имени хоста локального компьютера, и разрешите различным сценариям работать с этим.

Хотя # 1 должен работать, это метод, который мне передают, а не тот, который я настроил, и я бы немного беспокоился о символических ссылках в случае неправильной настройки имени хоста (это может произойти).Метод № 2 выглядит более надежным.

...