Hadoop学习笔记(5)免密钥登录配置

该部分所有的操作都要在admin用户(是普通用户,不是root用户)下,换回admin的命令是:

su - admin

输入密码。
当通过一个节点访问另外一个节点时,虽然没有了防火墙的限制,但还会有密码的限制。
hadoop集群的启动主要有两种方式:

  • 一键启动
  • 逐个节点进程启动

一般情况下使用一键启动,主节点启动时,带动从节点启动集群。Hadoop集群在启动时通过一个脚本在主节点运行,主节点带动从节点运行。那么就存在一个问题:主节点需要访问从节点,而从节点有密码的话并且从节点有N个,就需要输入N次密码并且有延迟的现象,造成集群启动失败。
所以一键启动配置就很有必要,并且需注意的是配置主节点到从节点的免密钥登录。当然配置从节点到主节点的免密钥登录也是可以的,但没有必要。

一、在HadoopMaster节点配置免密钥

首先在Master节点生成密钥,命令如下(一路点击回车)
注:ssh-keygen是生成命令;-t rsa是指定生成密钥的rsa算法

[admin@localhost ~]$ ssh-keygen -t rsa

输入命令后,一路回车,得到结果,密钥生成完毕

[admin@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): 
Created directory '/home/admin/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8IDFX/E4w8ovBNaMQYdZJkpFGoIX7mIOIauITZ8VZTY admin@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .o.o=B+E ..     |
|...o *+% o.o     |
|o.. + B.o.= .    |
|.+   . B.. o     |
|+.o   . S        |
|B+ . o . .       |
|+.. o   . .      |
|         .       |
|                 |
+----[SHA256]-----+

密钥生成后在哪里查看?通过如下命令查看所有文件

[admin@localhost ~]$ ls -a

显示的所有的文件中,会看到.ssh文件

[admin@localhost ~]$ ls -a
_   .bash_history  .bashrc  .dbus          .local    test      模板  文档  桌面
.   .bash_logout   .cache   .esd_auth      .mozilla  .viminfo  视频  下载
..  .bash_profile  .config  .ICEauthority  .ssh      公共      图片  音乐

命令cd ~/.ssh,通过相对路径切换到ssh文件中;命令ls,查看所有文件;命令ls -l,查看文件信息。可以看到两个密钥:私钥id_rsa 和 公钥id_rsa.pub

[admin@localhost ~]$ cd ~/.ssh
[admin@localhost .ssh]$ ls
id_rsa  id_rsa.pub
[admin@localhost .ssh]$ ls -l
总用量 8
-rw-------. 1 admin admin 1679 1月  27 21:58 id_rsa
-rw-r--r--. 1 admin admin  409 1月  27 21:58 id_rsa.pub

我们使用公钥id_rsa.pub作为一键启动,但需要加工下,加工为authorized_keys文件。如下命令cat ./id_rsa.pub >> ./authorized_keys(加工)复制公钥文件,然后命令ls查看所有文件会看到多了一个authorized_keys文件

[admin@localhost .ssh]$ cat ./id_rsa.pub >> ./authorized_keys
[admin@localhost .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub

通过命令chmod 600 ./authorized_keys修改authorized_keys的权限,并查看文件信息

[admin@localhost .ssh]$ chmod 600 ./authorized_keys
[admin@localhost .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub
[admin@localhost .ssh]$ ls -l
总用量 12
-rw-------. 1 admin admin  409 1月  27 23:09 authorized_keys
-rw-------. 1 admin admin 1679 1月  27 21:58 id_rsa
-rw-r--r--. 1 admin admin  409 1月  27 21:58 id_rsa.pub

然后把authorized_keys文件分别拷贝到slave、slave1节点

[admin@master .ssh]$ scp ./authorized_keys admin@slave:~/
admin@slave's password: 
authorized_keys                                                                                      100%  409   247.9KB/s   00:00    
[admin@master .ssh]$ scp ./authorized_keys admin@slave1:~/
admin@slave1's password: 
authorized_keys                                                                                      100%  409   190.0KB/s   00:00    
[admin@master .ssh]$ 

拷贝成功。接下来分别在slave节点、slave1节点配置。

一、在HadoopSlave节点配置免密钥

同样在Slave节点生成密钥,命令如下(一路点击回车)
注:ssh-keygen是生成命令;-t rsa是指定生成密钥的rsa算法

[admin@slave~]$ ssh-keygen -t rsa

输入命令后,一路回车,得到结果,密钥生成完毕

[admin@slave ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): 
Created directory '/home/admin/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:WD4/OWtZYTDx1mibpVfSx7VItolZ/BogAaq5K/xB9T8 admin@slave
The key's randomart image is:
+---[RSA 2048]----+
|       ...o..+  .|
|      .  .oo*++oo|
|     o  . .=*+=.=|
|    + .+   oo* +.|
|   +  ..S  .+.+  |
|  . .   .o ..o   |
|.  o     E=o     |
| o  o     ++     |
|  oo     ..      |
+----[SHA256]-----+
[admin@slave ~]$ 

将authrized_keys文件移动到.ssh目录中

[admin@slave ~]$ mv authorized_keys ~/.ssh

可查看到authrized_keys文件已经移动到.ssh目录中

[admin@slave ~]$ cd ~/.ssh
[admin@slave .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub

修改authrized_keys文件的权限

[admin@slave ~]$ cd ~/.ssh
[admin@slave .ssh]$ chmod 600 authorized_keys

一、在HadoopSlave1节点配置免密钥

同样在Slave1节点生成密钥,命令如下(一路点击回车)
注:ssh-keygen是生成命令;-t rsa是指定生成密钥的rsa算法

[admin@slave1~]$ ssh-keygen -t rsa

输入命令后,一路回车,得到结果,密钥生成完毕

[admin@slave1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Fj6VLY9kCmQRAs+EAdPbz5YxXTiDH0yQp/adGcv27QE admin@slave1
The key's randomart image is:
+---[RSA 2048]----+
|ooo+o *O..       |
| .o+ +o B .o     |
|   oo .=.=* .    |
|  . . =oo*.+     |
|     + =So.=E    |
|      =...B  .   |
|     .   . . ..  |
|            . .. |
|             ..  |
+----[SHA256]-----+
[admin@slave1 ~]$ 

将authrized_keys文件移动到.ssh目录中

[admin@slave1 ~]$ mv authorized_keys ~/.ssh

可查看到authrized_keys文件已经移动到.ssh目录中

[admin@slave1 ~]$ cd ~/.ssh
[admin@slave1 .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

修改authrized_keys文件的权限

[admin@slave1 ~]$ cd ~/.ssh
[admin@slave1 .ssh]$ chmod 600 authorized_keys

免密钥配置完毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值