Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无密码ssh可以工作,但不适用于Hadoop_Linux_Hadoop_Ssh_Sudo_Passphrase - Fatal编程技术网

Linux 无密码ssh可以工作,但不适用于Hadoop

Linux 无密码ssh可以工作,但不适用于Hadoop,linux,hadoop,ssh,sudo,passphrase,Linux,Hadoop,Ssh,Sudo,Passphrase,我已经在Ubuntu机器上安装了Hadoop。我设置了无密码ssh。我可以使用ssh localhost命令,它提供信息而无需输入密码。但是,当我转到Hadoop并键入sudo bin/start-all.sh时,它会询问我的密码,因为我使用了sudo,这很好,但在我输入之后,它会做一些事情,然后询问我的根密码,我相信它不会这样做。我已经搜索了几天了,最后只找到了ssh localhost不起作用时的答案。我还没有找到解决我问题的办法。非常感谢您的帮助 更新: 似乎我需要sudo无密码ssh,它

我已经在Ubuntu机器上安装了Hadoop。我设置了无密码ssh。我可以使用ssh localhost命令,它提供信息而无需输入密码。但是,当我转到Hadoop并键入sudo bin/start-all.sh时,它会询问我的密码,因为我使用了sudo,这很好,但在我输入之后,它会做一些事情,然后询问我的根密码,我相信它不会这样做。我已经搜索了几天了,最后只找到了ssh localhost不起作用时的答案。我还没有找到解决我问题的办法。非常感谢您的帮助

更新:
似乎我需要sudo无密码ssh,它与仅无密码ssh不同。然而,我仍然无法找到如何实现这一点。

我只是回来检查,并意识到我没有发布我找到的解决方案。在安装Hadoop和生成密钥时,避免在并非绝对必要的地方使用SUDO。如果您使用SUDO,它将尝试使用与不使用SUDO生成的根键不同的根键。Hadoop将自动使用当前用户的密钥,但这些密钥不起作用,因此会提示输入密码

当我停止使用

**sudo** ./start-dfs.sh
并使用:

./start-dfs.sh

我用namenode解决了shh通信问题

不是答案,但仅供参考,我也遇到了同样的问题。只能连接到同一台机器。我的Hadoop集群有4台机器,它们都是以相同的方式设置的,但是当启动Hadoop时,只有这台机器向我询问密码。祝你好运。询问root密码将表明它不是SSH提示符。其他一些东西正在这样做,如果没有看到start-all.sh的内容,任何人都很难提供帮助。一旦我开始做这件事,学习更多关于Hadoop的知识,等等,然后我会升级到几台机器。这似乎是我错过的Ubuntu的一个技巧。