在windows版本下的eclipse中連接hadoop2.2跑job

首先要重寫在YARNRUNNDER.java這個類

將350行改成ContainerLaunchContext amContainer = ContainerLaunchContext.newInstance(localResources, replaceEnvironment(environment),
vargsFinal, null, securityTokens, acls);

private Map<String, String> replaceEnvironment(Map<String, String> environment) {
 String tmpClassPath = environment.get("CLASSPATH");
 tmpClassPath=tmpClassPath.replaceAll(";", ":");
 tmpClassPath=tmpClassPath.replaceAll("%PWD%", "\\$PWD");
 tmpClassPath=tmpClassPath.replaceAll("%HADOOP_MAPRED_HOME%", "\\$HADOOP_MAPRED_HOME");
 tmpClassPath=tmpClassPath.replaceAll("%HADOOP_CONF_DIR%", "\\$HADOOP_CONF_DIR");
 tmpClassPath=tmpClassPath.replaceAll("%HADOOP_COMMON_HOME%", "\\$HADOOP_COMMON_HOME");
 tmpClassPath=tmpClassPath.replaceAll("%HADOOP_HDFS_HOME%", "\\$HADOOP_HDFS_HOME");
 tmpClassPath=tmpClassPath.replaceAll("%HADOOP_YARN_HOME%", "\\$HADOOP_YARN_HOME");
 tmpClassPath= tmpClassPath.replaceAll("\\\\", "/" );
 environment.put("CLASSPATH",tmpClassPath);
 return environment;
}

發佈了95 篇原創文章 · 獲贊 11 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章