1

我正在尝试在我的 Ubuntu 系统上配置 Hadoop MapReduce 环境。我创建了一个名为的新用户hduser并将其放在一个新组下hadoop。我创建了一个 ssh 证书并将其添加到授权密钥中。但是每当我尝试连接到本地主机时,我都会遇到麻烦,因为它一直在询问密码而不是使用密钥身份验证。

我通过将用户添加hduser到. 我能够连接到本地主机并运行 HDFS 系统。AllowUsers/etc/ssh/sshd_config

现在的问题是,每次我关闭 Hadoop 服务器时,我hdusersshd_config文件中创建的条目都会被删除。因此,每次在启动 Hadoop 进程之前,我都必须在sshd_config文件和reload ssh. 有没有办法使更改永久化,这样我就不必每次都这样做?

我也尝试注释掉该AllowUsers字段,但每次都会自动取消注释。

谢谢,TM

Edit:我与系统管理员交谈过,似乎系统范围的配置管理应用程序不时地更新配置文件。将我的 Hadoop 用户添加到他们的列表中,现在一切正常。

4

2 回答 2

1

您是否执行了这些步骤:

$ ssh-keygen -t rsa -P ''

...

Your identification has been saved in /home/hduser/.ssh/id_rsa.

Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.

...

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

    $ ssh localhost

这些行来自本教程

于 2014-04-26T10:53:02.973 回答
0

如何创建 shh-keygen 以及如何在 localhost 中复制 ssh-copy。云您执行以下命令并尝试将运行的 hadoop。

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@hostname

exmp(主机名=您的主机名,如本地主机)。然后它将起作用。

于 2014-04-17T11:47:43.123 回答