如何使用外部属性执行Hadoop Jar

时间:2015-07-24 08:01:47

标签: java hadoop properties hdfs

我有一个与外部属性文件一起使用的jar应用程序。使用该文件以便用户可以覆盖默认属性。默认和核心属性是构建的一部分,所以没有问题。

Normaly我会像其中一个人那样做:

java -jar MyAwesomeApp.jar user.properties

OR

java -jar MyAwesomeApp.jar -Dmyapp.userproperties=user.properties

但是使用hadoop,jar会像hadoop框架一样在

中执行
/bin/hadoop jar MyAwesomeApp.jar input output

无论我把-D放在哪里,我都无法通过System.getProperty(...)获取值。未设置属性。 hadoop文档说-D是GENERIC OPTION并在命令后设置。但是,如果我这样做,我得到一个错误,-D不是一个有效的jar文件(呃...)

我的目标是尽可能保持应用程序的清洁......所以我只想将用户配置作为参数传递给最后的手段,即

/bin/hadoop jar MyAwesomeApp.jar input output user.properties

我希望有人能告诉我要做-D工作需要做些什么:/ Hadoop运行伪分布式,所以我实际上也在使用HDFS ......

0 个答案:

没有答案