【问题标题】:How to adapt bin/hdfs for executing from outside $HADOOP_HOME/bin?如何调整 bin/hdfs 以从 $HADOOP_HOME/bin 外部执行?
【发布时间】:2011-05-16 10:08:13
【问题描述】:

我正在尝试修改 hdfs 脚本,以便它仍然可以运行,尽管不再位于 $HADOOP_HOME/bin 中,但是当我执行修改后的 hdfs 时,我得到:

hdfs: line 110: exec: org.apache.hadoop.fs.FsShell: not found

第 110 行是:

exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"

我已经突出显示了我对脚本所做的更改:

bin=**"$HADOOP_HOME"/bin # was** `dirname "$0"`
bin=`cd "$bin"; pwd`

./**hdfs-config.sh # was .** "$bin"/hdfs-config.sh

-

$ hadoop version
Hadoop 0.20.3-SNAPSHOT
Subversion http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-append -r 1041718
Compiled by hammer on Mon Dec  6 17:38:16 CET 2010

【问题讨论】:

  • 您为什么要尝试从其他位置执行脚本?可能还有其他方法可以完成同样的事情?
  • @Nija - hadoop 集群有一个旧版本,其中不存在 hdfs 脚本,我没有写入权限。也就是说,我们可以专注于一般问题吗?
  • 确实,我们应该关注一般问题:您没有写入权限,并且您正拼命地尝试解决该问题而不是解决它。也就是说:为什么你要这样做?
  • @Nija - 这里发布的问题不是第 110 行报告的错误。我有一个使用 hdfs 脚本的脚本,但在一个实例上可用的 hadoop 没有它。我要么修改脚本以在没有 hdfs 的情况下工作,要么解决问题。

标签: bash hadoop exec relative-path hdfs


【解决方案1】:

您为什么不简单地在系统上放置第二个 Hadoop 副本并让它为 HADOOP_HOME 设置不同的值?

【讨论】:

  • 请删除此答案并发表评论。我必须重复使用相同的 hadoop 副本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多