Новая архитектура MapReduce и Eclipse

Вокруг MapReduce происходит некоторый серьезный ре-факторинг. Подробности о том же можно найти в JIRA ниже.

https://issues.apache.org/jira/browse/MAPREDUCE-279

Он имеет демоны ResourceManager, NodeManager и HistoryServer. Кто-нибудь пробовал запускать их в Eclipse? Это облегчит разработку и отладку.

Я отправил письмо на форумах Hadoop, и никто не пробовал его. Просто хотел проверить, не делал ли кто-то что-то подобное в stackru.

2 ответа

Нурл Дождитесь завершения https://issues.apache.org/jira/browse/MAPREDUCE-3131. В любом случае вы можете проверить ревизию и попробовать запустить ее.

Вам нужно будет mvn site:site, чтобы сгенерировать документ, в котором есть все документы. А чтобы выяснить как? Вы можете открыть сценарии debug.sh и убедиться в этом сами.

По сути, мы передаем JAVA_OPTIONS и указываем параметры удаленной отладки eclipse. Это становится сложно для дочерних процессов, так как для этого нужно указать свойство mapred.child.java.opts,

НТН

Я попытался запустить YARN (следующее поколение mapreduce) на моем хосте в течение нескольких дней.

Во-первых, получите исходный код от apache.org, используя svn или git. возьмите svn например:

svn co https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.0

затем сгенерируйте файлы, связанные с затмением, используя maven (вы должны настроить manve3 на вашем хосте перед этим шагом).

mvn test -DskipTests

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true

и теперь вы можете импортировать существующий проект maven в eclipse (сначала вы должны настроить плагин maven в eclipse).

В eclipse: Файл-> Импорт существующих проектов Maven

Choose "Existing Projects into Workspace"
Select the hadoop-mapreduce-project directory as the root directory
Select the hadoop-mapreduce-project project
Click "Finish"

Я пытался много раз из-за class_path/build_path не был правильно настроен и не включать все зависимости пакета / класса. Попробуйте "Добавить папку внешних классов" и выберите каталог сборки текущего проекта в разделе "Свойства проекта", если вы столкнулись с той же проблемой, что и я.


обновление:2012-03-15

Теперь я мог запустить YARN (так же, как Hadoop0.23) в затмении.

Во-первых, вы должны успешно скомпилировать / собрать Yarn командой exec:

mvn clean package -Pdist -Dtar -DskipTests

По той причине, что меня интересует только способ отладки YARN, я запускаю HDFS на своем единственном хосте в терминале linux, а не в eclipse.

bin/hdfs namenode -formate -clusterid your_hdfs_id
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

а затем импортируйте hadoop 0.23 в eclipse и найдите resourcemanager.java, следующий шаг - запустить этот класс в eclipse. Подробные шаги:

  • щелкните правой кнопкой мыши и выберите запустить как приложение
  • добавьте новую конфигурацию для запуска этого класса, в части аргументов заполните наполнением:

    --config your_yarn_conf_dir (так же, как и HDFS conf dir)

  • Нажмите кнопку "Выполнить", вы найдете вывод менеджера ресурсов в консоли Eclipse.

Запуск Nodemanaer в Eclipse аналогичен запуску Resourcemanager. Добавьте новую конфигурацию и заполните аргументы "--config your_yarn_conf_dir", затем нажмите кнопку запуска.

Удачного кодирования ~!

Другие вопросы по тегам