使用命令行在我自己的驱动程序类中提交作业时如何传递hadoop配置?

时间:2014-08-07 22:20:07

标签: hadoop

我说的是从集群外部的机器提交hadoop作业。 所以情况就是这样, 在我的linux desktopn中,我在类路径中有所有hadoop jar文件。 通常在命令行中使用这种命令:

java -Dproc_jar -Xmx1000m -Dhadoop.log.dir=/cdh4/hadoop-2.0.0-mr1-cdh4.1.2/bin/../logs -    Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=/cdh4/hadoop-2.0.0-mr1-cdh4.1.2/bin/.. -Dhadoop.id.str=zhaoyong -   Dhadoop.root.logger=INFO,console
-Dhadoop.policy.file=hadoop-policy.xml -classpath
/cdh4/hadoop-2.0.0-mr1-cdh4.1.2 .......(here ignore lots of jar files) 
org.apache.hadoop.util.RunJar
/cdh4/hadoop-2.0.0-mr1-cdh4.1.2/hadoop-examples-2.0.0-mr1-cdh4.1.2.jar
wordcount /golfnew.csv /testout

这可以工作,因为我的classpath中有core-site.xml,hdfs-site.xml,mapred-site.xml。 所以我的问题是,如果我想将作业提交到多个集群,我如何在命令行中传递配置,而不是在类路径中使用固定的xml文件? 它可以传递一个参数让自己找到xml文件,或传递所有配置对。

任何人都可以帮忙解决这个问题吗?  非常感谢!

0 个答案:

没有答案