2017-01-26 2 views
-2

Я хочу, чтобы запустить приложение Hadoop через JavaRunnng Hadoop Применение Дистанционно

Если я запускаю мое приложение с haddoop jar вводе команды внутри кластера все прекрасно работает. Но мне нужно запустить работу удаленно.

Я настроил конфигурацию менеджера ресурсов и Кетя свойств, как это:

 jobConf.set("yarn.resourcemanager.address", "192.168.111.9:8032"); 
     jobConf.set("mapreduce.framework.name", "yarn"); 

     jobConf.set("fs.default.name", "hdfs://192.168.111.9:8020"); 
     //If not set throws an error regarding to unable to write on /tmp/hadoop-yarn 
     jobConf.set("yarn.app.mapreduce.am.staging-dir", "/user"); 
     jobConf.set("mapreduce.app-submission.cross-platform", "true"); 
     jobConf.set("mapreduce.application.classpath", "$HADOOP_MAPRED_HOME/*:$HADOOP_MAPRED_HOME/lib/*:$MR2_CLASSPATH:$HADOOP_CLIENT_CONF_DIR:$HADOOP_CONF_DIR:$HADOOP_COMMON_HOME/*:$HADOOP_COMMON_HOME/lib/*:$HADOOP_HDFS_HOME/*:$HADOOP_HDFS_HOME/lib/*:$HADOOP_YARN_HOME/*:$HADOOP_YARN_HOME/lib/*"); 
     String target = "variables-hadoop-0.0.1-SNAPSHOT.jar"; 
     jobConf.set("mapreduce.job.jar", target) 

Но каждый раз, когда я запускаю приложение никогда не получает ресурсы менеджера, и журнал говорит:

2017-01-25 19:36:09,998 INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030 
2017-01-25 19:36:11,032 INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 

И продолжает пытаться в течение длительного времени

Затем я попытался установить свойство

jobConf.set("yarn.resourcemanager.scheduler.address", "192.168.111.9:8030 ");

Но другая ошибка возникает

java.lang.IllegalArgumentException: Does not contain a valid host:port authority: 192.168.111.9:8030 (configuration property 'yarn.resourcemanager.scheduler.address') 

Есть ли "легкий путь", чтобы сделать это? Трудно обнаружить каждое свойство, которое должно быть установлено.

Я бегу на кластере с Cloudera - Hadoop 2,7

ответ

0

Вы добавили пробел в конце адреса планировщика, поэтому вы получите IllegalArgumentException

изменения:

jobConf.set("yarn.resourcemanager.scheduler.address", "192.168.111.9:8030 "); 
//                  ^

в

jobConf.set("yarn.resourcemanager.scheduler.address", "192.168.111.9:8030"); 
//                  ^
+0

Да ... это было проблемой. Из журнала спасибо. – Oscar

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