首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop作业配置文件规范

Hadoop作业配置文件规范
EN

Stack Overflow用户
提问于 2011-11-17 00:27:04
回答 1查看 2.1K关注 0票数 0

我有一个大约10个Hadoop作业的流。我有一系列配置这些作业的XML文件,例如:

代码语言:javascript
复制
-conf /path/on/my/local/system/start-conf.xml
-conf /path/on/my/local/system/job-1-conf.xml
-conf /path/on/my/local/system/job-2-conf.xml
-conf /path/on/my/local/system/job-i-conf.xml
...
-conf /path/on/my/local/system/job-10-conf.xml

假设我有用于运行名为"com.my.project.RunClass“的作业的类。假设我使用以下命令运行作业:

代码语言:javascript
复制
hadoop jar /path/to/project.jar com.my.project.RunClass -conf /path/on/my/local/system/start-conf.xml

我想用某个占位符替换段"/path/on/my/local/system“,例如:${root.conf.dir},这样我就可以运行如下所示的作业:

代码语言:javascript
复制
hadoop jar /path/to/project.jar com.my.project.RunClass -conf ${root.conf.dir}/job-1-conf.xml -Droot.conf.dir=/path/on/my/local/system

这在Hadoop的任何版本中都是可能的吗?我使用的是Cloudera发行版,似乎每次都失败了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-17 07:56:13

我不知道bash 4.*,但较旧的bash不支持带‘.’的变量名称。

试一试

代码语言:javascript
复制
root_conf_dir="/path/on/my/local/system"
hadoop jar /path/to/project.jar com.my.project.RunClass \
    -conf "${root_conf_dir}"/job-1-conf.xml \
    -Droot.conf.dir="${root_conf_dir}"

我希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8155084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档