hadoop 配置集群之间SSH无密码登陆 (重点推荐)

配置免登录

Ø 创建或者修改密钥目录权限

假设本机的IP为“192.168.1.100”,配置免登录的操作步骤如下:  

1. 以hadoop用户登录各服务器。  

2. 执行以下命令,修改“.ssh 目录”权限。   

    chmod 755 ~/.ssh   

说明:如果“.ssh”目录不存在,请在/home/hadoop目录执行 mkdir ~/.ssh 命令创建。

 

 

a)        若“.ssh目录”不存在,创建”.ssh目录”。

mkdir ~/.ssh 

b)        修改“.ssh 目录”权限。   

   chmod 755 ~/.ssh   

 

Ø   创建公钥和私钥(此操作在所有服务器完成后再进入下一步)

1. 以hadoop用户登录本机(假设本机的IP为“192.168.1.100”)。  

2. 执行以下命令,进入“.ssh”目录。   

 cd /home/hadoop/.ssh  

3. 执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。   

ssh-keygen -t rsa  

 

如果创建公钥和私钥后(上图最下面部分),提示的用户名hadoop@后面不是本机别名(上图红色部分:如master),说明主机名称需要重新配置一次,然后记得重启,然后删除/.ssh目录下的公钥和私钥,重新生成,直到生成的密钥后缀是本机别名。

 

接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

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

 

 在验证前,需要做两件事儿。第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能),另一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。使其无密码登录有效。

1)修改文件"authorized_keys

chmod 600 ~/.ssh/authorized_keys

2)设置SSH配置 

root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。

vi /etc/ssh/sshd_config

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

设置完之后记得重启SSH服务,才能使刚才设置有效。

service sshd restart

退出root登录,使用hadoop普通用户验证是否成功。

ssh localhost (主机名)   [黄色部分为变量]

 

 

从上图中得知无密码登录本级已经设置完毕,接下来的事儿是把公钥复制所有Slave机器上。

Ø    3)拷贝公钥到服务器(要登录上去的那台服务器slave

 

使用下面的命令格式进行复制公钥:

scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

例如:

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.101:~/

上面的命令是复制文件"id_rsa.pub"到服务器IP为"192.168.1.101"的用户为"hadoop"的"/home/hadoop/"下面。

下面就针对IP为"192.168.1.101"的Slave01.Hadoop的节点进行配置。

1) Master.Hadoop上的公钥复制到Slave1.Hadoop

从上图中我们得知,已经把文件"id_rsa.pub"传过去了,因为并没有建立起无密码连接,所以在连接时,仍然要提示输入输入Slave01.Hadoop服务器用户hadoop的密码。为了确保确实已经把文件传过去了,用SecureCRT登录Slave1.Hadoop:192.168.1.101服务器,查看"/home/hadoop/"下是否存在这个文件。

 

从上面得知我们已经成功把公钥复制过去了。

Ø  追加到授权文件"authorized_keys" [注意顺序]

1)        把Master.Hadoop的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去。使用下面命令进行追加并修改"authorized_keys"文件权限:

 

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

chmod 600 ~/.ssh/authorized_keys

 

 

2)         用root用户修改"/etc/ssh/sshd_config"

具体步骤参考前面Master.Hadoop的"设置SSH配置",具体分为两步:第1是修改配置文件;第2是重启SSH服务。[同理2)设置SSH配置 ]

3)        用Master.Hadoop使用SSH无密码登录Slave01.Hadoop 

  当前面的步骤设置完毕,就可以使用下面命令格式进行SSH无密码登录了。

ssh slave01[远程服务器IP]

 

从上图我们主要3个地方,第1个就是SSH无密码登录命令,第2、3个就是登录前后"@"后面的机器名变了,由"master"变为了"slave01",这就说明我们已经成功实现了SSH无密码登录了。

最后记得把"/home/hadoop/"目录下的"id_rsa.pub"文件删除掉。

rm –r ~/id_rsa.pub

 

到此为止,已经实现了从"master.Hadoop"到"slave01.Hadoop"SSH无密码登录,下面就是重复上面的步骤把剩余的两台(slave02.Hadoop和slave03.Hadoop)Slave服务器进行配置。这样,我们就完成了"配置Master无密码登录所有的Slave服务器"。

 

Ø   配置所有Slave无密码登录Master

  和master无密码登录所有slave原理一样,就是把slave的公钥追加到master的".ssh"文件夹下的"authorized_keys"中,记得是追加(>>

  为了说明情况,我们现在就以"slave01.Hadoop"无密码登录"master.Hadoop"为例,进行一遍操作,也算是巩固一下前面所学知识,剩余的"Slave2.Hadoop"和"Slave3.Hadoop"就按照这个示例进行就可以了。

  首先创建"slave01.Hadoop"自己的公钥和私钥,并把自己的公钥追加到"authorized_keys"文件中。用到的命令如下:

ssh-keygen -t rsa  

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

 

同理

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值