首页 > 解决方案 > hadoop jar 指定配置位置

问题描述

我想运行一个运行 scala jar 的 hadoop 作业,该 jar 恰好具有多种类型的安全配置文件。

我的目录看起来像这样:

myApplicationFolder
./application.jar
./application.conf
./connection.conf
./someotherconf.conf

当我使用

hadoop jar application.jar class.runner

在 myApplicationFolder 中,一切正常:application.conf 和 connection.conf 中的内容可以被我的应用程序获取:

val appConfig = ConfigFactory.load()
val connectionConfig = ConfigFactory.load("connection")

但是,如果我想在其他目录中运行 jar,如何将位置指向 application.conf 和 connection.conf?

我尝试使用

export HADOOP_OPTS='-Dconfig.file=application.conf -Dconfig.file=connection.conf'

但这基本上忽略了application.conf并使用了connection.conf,程序在application.conf中找不到必要的信息。

此外,假设我可以将 application.conf 构建到 jar 中,我如何告诉应用程序查找 connection.conf?

标签: javascalahadooptypesafe-config

解决方案


推荐阅读