+-
Hadoop“Permission denied(publickey,password,keyboard-interactive)”警告

我正在关注this教程,以便在我的计算机中安装Hadoop。完成安装后,当我尝试使用此命令./start-dfs.sh启动Hadoop时,它返回以下内容:

U:sbin U$ ./start-dfs.sh
Starting namenodes on [localhost]
localhost: U@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting datanodes
localhost: U@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting secondary namenodes [U.local]
U.local: [email protected]: Permission denied (publickey,password,keyboard-interactive).
2018-02-25 14:52:15,505 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

我尝试了多次卸载和安装它来重新检查我是否错过了一些东西,但我仍然在最后得到这个错误。在查看了一些在线论坛后,我发现最后一个警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform不是什么大问题,因为它在我们在64位机器上运行Hadoop时会出错。请问你能告诉我其他两个错误是什么意思以及如何修复它们吗?我已尝试在互联网上发布了许多解决方案。

18
投票

问题是当您尝试ssh到服务器(在本例中为localhost)时,它会尝试使用您的凭据对您进行身份验证。并存储该信息。但是这里没有配置无密码验证,因此每次尝试ssh时,它都会询问您的密码,如果machines try to communicate with each other使用ssh,这是一个问题。因此,要设置无密码ssh,我们需要将用户计算机的公钥添加到服务器机器~/.ssh/authorized_keys文件中。在这种情况下,两个系统都是相同的机器。

所以长篇故事短命以下命令。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
12
投票

继续以下步骤:

生成新的keygen。 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 注册密钥gen: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
0
投票

那些仍在努力解决这个错误的人,我的回答可以帮助他们。如果你已经完成了一切并且已经在authorized_keys中添加了密钥,那么你需要做的就是删除你的id_rsa和id_rsa.pub(你用于密钥对文件的任何名称)并清空你的authorized_keys,简而言之就是进行回滚,因为您可能在生成rsa密钥时给出了密码。

所以只做一件事,再次创建RSA密钥:

ssh-keygen -t rsa

提供文件的名称(出现提示时):<your_filename>

然后不要给它一个密码短语而只是简单地按Enter键,即保持空白,因此你永远不会看到权限被拒绝错误(它在我的情况下有用。)