0

尝试运行一个简单的 shell 脚本,该脚本由一组命令组成,我经常执行这些命令来设置我的 Hadoop 环境。首先,我在手动执行这些命令之前通过“ ssh localhost ”进行连接,我想自动化这个过程,我正在执行以下操作,这会导致下面列出的错误。请注意,我可以从命令提示符手动执行这些命令。请帮帮我。

我做了什么

$sudo chmod 777 hadoop-startup-script.sh
$ssh localhost
$./hadoop-startup-script.sh

这会导致以下错误

(~($))sh hadoop-startup-script.sh
hadoop-startup-script.sh: 2: cd: can't cd to /home/hadoop/hadoop-0.20.204.0
hadoop-startup-script.sh: 3: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 4: hadoop-startup.sh: bin/start-all.sh: not found
hadoop-startup-script.sh: 5: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 6: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 7: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 8: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 9: hadoop-startup.sh: bin/hadoop: not found
hadoop-startup-script.sh: 10: hadoop-startup.sh: bin/hadoop: not found

hadoop-startup-script.sh 的内容

#! /bin/bash 
cd ~/hadoop-0.20.204.0
bin/hadoop namenode -format
bin/start-all.sh 
bin/hadoop fs -mkdir input
bin/hadoop fs -mkdir input/oreilly
bin/hadoop fs -put /home/hadoop/Dropbox/hadoop/hadoop-inputs/oreilly-programmingPig/*.* /user/hadoop/input/oreilly/
bin/hadoop fs -put /home/hadoop/Dropbox/hadoop/hadoop-inputs/oreilly-programmingPig/NYSE_dividends  /user/hadoop/input/oreilly/
bin/hadoop fs -put /home/hadoop/Dropbox/hadoop/hadoop-inputs/oreilly-programmingPig/baseball  /user/hadoop/input/oreilly/ 
bin/hadoop fs -put /home/hadoop/Dropbox/hadoop/hadoop-inputs/oreilly-programmingPig/NYSE_daily  /user/hadoop/input/oreilly/
4

1 回答 1

2

错误告诉您位置~/hadoop-0.20.204.0bin/hadoop并且bin/start-all.sh不存在。

你的意思是~/bin/bin还是~/hadoop-0.20.204.0/bin?如果您的意思是,~/hadoop-0.20.204.0/bin那么第一个失败cd解释了以下错误。仔细检查文件夹的名称和权限。

于 2013-09-22T11:50:50.480 回答