Hadoop环境变量

时间:2013-02-08 15:06:22

标签: ruby hadoop hadoop-streaming

我正在尝试使用Mac上的单节点Hadoop群集调试一些问题。在所有设置文档中,它说要添加:

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

删除此错误:

Unable to load realm info from SCDynamicStore

这有效,但它似乎只适用于STDOUT。当我检查我的Hadoop日志目录时,在“job _ ### / atempt _ ### / stderr”下,错误仍然存​​在:

2013-02-08 09:58:23.662 java[2772:1903] Unable to load realm info from SCDynamicStore

我很难将RVM Rubies加载到Hadoop环境中以使用Hadoop流执行Ruby代码。 STDOUT正在打印加载RVM并使用正确的Ruby / gemset但我的STDERR日志:

env: ruby_noexec_wrapper: No such file or directory

有没有办法找出Hadoop实际用于执行作业的路径,或者是否在此处调用其他环境?

进一步背景:

我正在使用通过Homebrew安装的Hadoop 1.1.1。它的设置方式与“INSTALLING HADOOP ON MAC OSX LION非常相似”,并调试wukong 3.0.0的实现作为执行Hadoop作业的包装器。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,以便其他人可以找到它。

我似乎是在我的hadoop-env中加载rvm但是在添加它之后我必须没有重新启动集群。要确保加载了rubies和gemsets,请将标准rvm子句添加到hadoop-env.sh。类似的东西:

[[ -s "/Users/ScotterC/.rvm/scripts/rvm" ]] && source "/Users/ScotterC/.rvm/scripts/rvm"

并确保重新启动群集以便将其选中。奇怪的是,没有重新启动,我的日志会显示它正在加载rvm但它显然没有执行那个ruby并且它是​​各自的gemfiles。重新启动后工作正常。