ssh - hadoop 与 cygwin : hadoop-daemon. sh:未找到

标签 ssh hadoop cygwin localhost

我正在 cygwin 上安装 hadoop。我有一台 windows 7 64 位机器,我一直在关注这里的 instrux:http://alans.se/blog/2010/hadoop-hbase-cygwin-windows-7-x64/#software .我在 cygwin 中设置了无密码 SSH,并安装了 hadoop 0.20.2。

当我发出 bin/start-dfs.sh 时,我得到以下信息:

starting namenode, logging to /usr/local/hadoop-0.20.2/bin/../logs/hadoop-T3S-namenode-t3s780mon.out
localhost: /usr/local/hadoop-0.20.2/bin/hadoop-daemon.sh: /usr/local/hadoop-0.20.2/bin/hadoop-daemon.sh: not found
localhost: /usr/local/hadoop-0.20.2/bin/hadoop-daemon.sh: /usr/local/hadoop-0.20.2/bin/hadoop-daemon.sh: not found

该文件存在于该确切位置。权限似乎很好(它归“管理员”所有,我以具有“管理员”权限的用户身份运行。无论如何,在到达这一点之前它正在查找并执行其他脚本。此输出发生在垃圾箱中的这一行/slaves.sh 脚本

for slave in `cat "$HOSTLIST"|sed  "s/#.*$//;/^$/d"`; do
 ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
   2>&1 | sed "s/^/$slave: /" &
 if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
   echo "@@@ slave.sh is SLEEPING"
   sleep $HADOOP_SLAVE_SLEEP
 fi
done

特别是在“ssh...”行。本质上,调用的是(当所有脚本变量都已解析时):

ssh localhost cd /usr/local/hadoop-0.20.2/bin/.. ; /usr/local/hadoop-0.20.2/bin/hadoop-daemon.sh --config /usr/local/hadoop-0.20.2/bin/../conf start datanode

当我手动运行时(即将其粘贴到 cygwin 控制台)不会返回任何此类错误。

那么是什么原因导致此脚本此时因这条特定消息而失败?我认为这与我设置 ssh 的方式有关,但无法弄清楚,因为我觉得我已经以标准方式完成了所有操作...

感谢任何帮助/想法/线索。

最佳答案

检查/etc/passwd 中的用户。它必须具有在/etc/shells 中定义的有效主目录和 shell。接下来在从属 ssh 命令行中,将 -l ${USER} 添加到 ssh 调用。

更好的是,按照本教程进行操作:http://en.wikisource.org/wiki/User:Fkorning/Code/Hadoop-on-Cygwin

关于ssh - hadoop 与 cygwin : hadoop-daemon. sh:未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743939/

相关文章:

bash - 使用 ssh 手动加载私钥

hadoop - 运行时异常 : Error in configuring object with null pointer exception while running my UDAF?

hadoop - hbase 中的数据大小增加

c - 如何在 PC 上访问我的 9 位数据串口?

linux - 切换到自动登录 TTY

python - 如何使用 Fabric 和 fabfile 解密受密码保护的 SSH key ?

linux - 后台运行命令不起作用

hadoop - Spark/Hadoop - 无法找到 DIGEST-MD5 的 SASL 服务器实现

netbean 和 cygwin 的 C++ 编译错误?

c - socket.h (_uid32_t) 错误