我是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:权限被拒绝,请再试一次。
那么,问题是什么?
答案 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