Hadoop"权限被拒绝(公钥,密码,键盘互动)"警告

时间:2018-02-25 21:07:48

标签: hadoop ssh installation

我正在关注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: U@pc.local: 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时会出错。请问你能告诉我其他两个错误是什么意思以及如何修复它们吗?我已尝试在互联网上发布了许多解决方案。

5 个答案:

答案 0 :(得分:18)

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

如此长的故事短命以下命令。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

答案 1 :(得分:12)

继续以下步骤:

  1. 生成新密钥。

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    
  2. 注册密钥:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    

答案 2 :(得分:0)

那些仍在努力解决此错误的人,我的回答可能会对他们有所帮助。 如果您做对了所有事情,并且还已经在authorized_keys中添加了密钥,那么您要做的就是删除id_rsa和id_rsa.pub(无论密钥对文件使用了什么名称)并清空您的authorized_keys,简而言之回滚,因为生成rsa密钥时您可能已经输入了密码。

因此,只需做一件事,即可通过以下方式再次创建RSA密钥:

ssh-keygen -t rsa

提供文件名(出现提示时):

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

答案 3 :(得分:0)

我按照以下3个步骤创建了无需登录的密码

  1. ssh-keygen -t rsa(每行按Enter键)
  2. 猫〜/ .ssh / id_rsa.pub >>〜/ .ssh / authorized_keys
  3. chmod og-wx〜/ .ssh / authorized_keys

答案 4 :(得分:0)

cd hadoop/etc/hadoop
nano hadoop-env.sh

并将此行粘贴到hadoop-env.sh

export HADOOP_SSH_OPTS="-p 22"