设置hadoop时SSH出现问题

时间:2013-03-27 11:34:11

标签: configuration hadoop ssh

我是hadoop的新鱼。我在我的计算机上安装了Ubuntu 12.10,我想在一个节点上以伪分布式模式安装Hadoop。我搜索并获得了很多教程,但我遇到了SSH问题。我做了教程所说的。 我确定问题是关于SSH的。我得到了openssh-server,并且做了这个:
hadoop00 @ WebsoftStation:〜$ ssh-keygen -t dsa -P“” - f~ / .ssh / id_dsa hadoop00 @ WebsoftStation:〜/ .ssh $ cat~ / .ssh / id_dsa.pub>>的authorized_keys

然后我可以像这样成功地ssh我的localhost:
hadoop00 @ WebsoftStation:〜$ ssh localhost
有效。 所以我改变了hadoop的路径然后:
hadoop00 @ WebsoftStation:/ usr / local / hadoop $ sudo bin / start-all.sh
hadoop00的[sudo]密码:
启动namenode,登录到/usr/local/hadoop/libexec/../logs/hadoop-root-namenode-WebsoftStation.out
root @ localhost的密码:
root @ localhost的密码:localhost:权限被拒绝,请再试一次。
那么,问题是什么?

3 个答案:

答案 0 :(得分:0)

您只为当前帐户设置了无密码ssh。因为,当你可以毫无问题地使用ssh localhost时,接下来需要做的就是为脚本提供执行权限。 执行以下命令:

chmod +x bin/*.sh  ---> assigns execution permission to all the scripts
./start.all        ----> executes the script

注意:也可以使用hadoop-daemon.sh脚本在没有无密码ssh设置的情况下运行Hadoop。无密码ssh的唯一优势是./start.all脚本会在每个节点中代表您执行此操作。

答案 1 :(得分:0)

您需要更改hadoop00用户所拥有的Hadoop文件夹的权限:

cd /usr/local/
sudo chown -R hadoop00:hadoop00 /usr/local/hadoop

然后,您可以cd进入sbin文件夹并运行没有sudo的内容。如果您使用sudo,则会以root的身份运行脚本,这些脚本具有不同的环境变量等,这就是为什么您具有不同的行为的原因。

答案 2 :(得分:-1)

为什么使用sudo这显然是一个权限问题。

尝试在没有sudo

的情况下运行此功能
bin/start-all.sh