• ssh免密登录


    1.hadoop对hdfs集群的管理提供两种脚本

    hadoop-daemons.sh 本地启动脚本:对集群中的单个节点操作

    start-dfs.sh 集群启动脚本:对集群中所有节点统一操作

    2.SSH免密登录(防止集群登录超时

     ①生成公私钥

    1 ssh-keygen -t rsa

    在用户目录下有个.ssh文件(隐藏文件),添加authorized_keys文本,将生成的公钥内容重定向(>>)到该文件中。

    ②直接使用如下命令,可以看到.ssh文件中自动生成了authorized_keys授信文件

    一、准备工作
    1. 用客户端工具(ssh client或者putty)连接到linux服务器。在root用户下输入命令vi /etc/hosts,用vi编辑hosts文件,如下:

      #127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      #::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      

      192.168.1.160 hadoop01
      192.168.1.161 hadoop02
      192.168.1.162 hadoop03
      192.168.1.163 hadoop04
      192.168.1.164 hadoop05

    2. 输入命令:cd .ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsaid_rsa.pub文件。

    二、在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中
    1. 登录hadoop01,在.ssh目录下输入命令:

      ssh-keygen -t rsa
      

      三次回车后,该目录下将会产生id_rsaid_rsa.pub文件。其他主机也使用该方式产生密钥文件。

    2. 登录hadoop01,输入命令:

      cat id_rsa.pub >> authorized_keys
      

      id_rsa.pub公钥内容拷贝到authorized_keys文件中。

    3. 登录其他主机,将其他主机的公钥文件内容都拷贝到hadoop01主机上的authorized_keys文件中,命令如下:

      ssh-copy-id -i hadoop01 #登录hadoop02,将公钥拷贝到hadoop01的authorized_keys中
      

      ssh-copy-id -i hadoop01 #登录hadoop03,将公钥拷贝到hadoop01的authorized_keys中

      ssh-copy-id -i hadoop01 #登录hadoop04,将公钥拷贝到hadoop01的authorized_keys中

      ssh-copy-id -i hadoop01 #登录hadoop05,将公钥拷贝到hadoop01的authorized_keys中

      最终authorized_keys文件内容如下:

      [root@hadoop01 .ssh]# more authorized_keys
      

      ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp7jp4a1/deK4B/eZW8kdiCQvzpKe4Id0uP0DdONFW85r
      srZFx92H4yeiJuYWJaZImuiq/feRIo30Dig6obEfuAn13vevdXozcXNlYQ== root@hadoop03

      ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwpEgmBzfGw1mrKy3Ho8k/h4jrZlRdIzuLs6PKqDPV/Cw
      gbe3rIuQcWwGseEQrGjIDhLb9am3dbgDuFeg73RJqFZMOp2y6zQF3jQIew== root@hadoop02

      ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAmc2M6Bzw1cPaDwjbtgynJPWRKv9pDnHjBSn5BDbIX0po
      stWUm0LfFAcMwXDwb8RAFj+cH+D/xG6CrORLb4UfroJHa6N64rx/5dmz7w== root@hadoop04

      ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxAsHr8Jp4vXI7bPGmSsO/+bT43GsxQ4GKdGf8qLPsFY+
      f1BLmMquI4n02owzU0zlkj3Px5IcCfQbDQ/JedHcjxEKP2S+9m3yxG4h2Q== root@hadoop05

      ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyS1PbXTgFqHcGV/k0QUZni5xB5+q71qx4r5xto+WLkVQ
      LNo3yYSWraV5KcYIlNPqX6iJKvjLWbNDwD3+70u4nWjBSXXufhff71LdHw== root@hadoop01

    三、授权authorized_keys文件
    1. 登录hadoop01,在.ssh目录下输入命令:

      chmod 600 authorized_keys
      

      效果如下:

      [root@hadoop01 .ssh]# ls -al
      

      total 28
      drwx------. 2 root root 4096 Oct 24 12:27 .
      dr-xr-x---. 22 root root 4096 Oct 24 19:20 ..
      -rw-------. 1 root root 1975 Oct 24 12:27 authorized_keys
      -rw-------. 1 root root 1975 Oct 24 12:09 authorized_keys_20141024
      -rw-------. 1 root root 1675 Oct 24 12:23 id_rsa
      -rw-r--r--. 1 root root 395 Oct 24 12:23 id_rsa.pub
      -rw-r--r--. 1 root root 2020 Oct 24 12:10 known_hosts

    四、将授权文件分配到其他主机上
    1. 登录hadoop01,将授权文件拷贝到hadoop02hadoop03...,命令如下:

      scp /root/.ssh/authorized_keys hadoop02:/root/.ssh/ #拷贝到hadoop02上
      scp /root/.ssh/authorized_keys hadoop03:/root/.ssh/ #拷贝到hadoop03上
      scp /root/.ssh/authorized_keys hadoop04:/root/.ssh/ #拷贝到hadoop04上
      scp /root/.ssh/authorized_keys hadoop05:/root/.ssh/ #拷贝到hadoop05上
      
    2. 至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

  • 相关阅读:
    正则表达式把所有Paul替换成Ringo:Paul Puala Pualine paul Paul
    DOM 和 BOM
    新手的grid布局
    css中的单位和css中的颜色表示方法
    css定位
    Winform 通过 WebBrowser 与 JS 交互
    PDF目录编辑器使用介绍
    [.NET] 控制只启动单个指定外部程序
    搭建 Frp 来远程内网 Windows 和 Linux 机子
    CentOs8 nmcli命令行方式操作网卡配置
  • 原文地址:https://www.cnblogs.com/zqzhen/p/12917019.html
Copyright © 2020-2023  润新知