4

我是 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 >> 授权密钥

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

4

3 回答 3

0

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

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

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

于 2013-03-27T18:09:14.123 回答
0

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

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

然后你可以cd进入sbin文件夹并运行没有sudo. 如果您使用sudo您正在运行的脚本root具有不同的环境变量等,这就是您有不同行为的原因。

于 2019-11-19T19:45:40.463 回答
-1

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

尝试在没有的情况下运行它sudo

bin/start-all.sh
于 2013-03-27T11:41:03.913 回答