2017-02-16 32 views
1

Я новичок в hadoop. Теперь у меня есть проект Maven и конфигурация выглядит следующим образом:hadoop не удалось подключиться к localhost

Configuration conf = new Configuration(); 
conf.set("mapred.job.tracker", "http://127.0.0.1:8088"); 
conf.set("yarn.resourcemanager.address", "http://127.0.0.1:50070"); 
conf.set("mapreduce.framework.name", "yarn"); 

Но когда я запускаю его на моем ноутбуке, программа остановится на

INFO client.RMProxy: Connecting to ResourceManager at /127.0.0.1:50070 

Если изменить конфигурацию

Configuration conf = new Configuration(); 
conf.set("mapred.job.tracker", "http://localhost:8088"); 
conf.set("yarn.resourcemanager.address", "http://hoathost:50070"); 
conf.set("mapreduce.framework.name", "yarn"); 

программа остановится на

INFO client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:50070 

В моем браузере я вижу страницу 127.0.0.1:50070, поэтому Hadoop следует запустить успешно.

Кто-нибудь знает, как это исправить?

ответ

0

50070 - это порт USB-порта HDFS, по умолчанию yarn.resourcemanager.address IPC-порт равен 8032, попробуйте обновить приведенную ниже строку в коде.

conf.set ("yarn.resourcemanager.address", "http://127.0.0.1:8032");

+0

Это работает !!! Огромное спасибо!!! – Lingyao

0

Если у вас есть кластер работает нормально, то самый простой способ подключить этот кластер может быть

  1. Копировать Hadoop конф от $ HADOOP_CONF_DIR к локальной директории
  2. Загрузите файлы конфигурации для вашего клиента Configuration

Конфигурация conf = new Configuration();

conf.addResource (новый путь ("файл: ///path/to/client/yarn-site.xml"));

...

, если вы используете HDP или распределение CDH, вы должны быть в состоянии загрузить клиентский пакет конфигурации и использовать их локально для подключения к кластеру.