Hadoop集群中SSH免密码登录

来源:互联网 发布:java获取资源文件路径 编辑:程序博客网 时间:2024/04/29 00:31
1、SSH无密码登录的意义:Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式。
2、安装和启动SSH协议:
    查看ssh和rsync的安装情况:rpm  -qa  |  grep   openssh
                                                 rpm  -qa  |   grep   rsync
    若没有安装ssh和rsync, yum   install  ssh
                                            yum   install  rsync  
                                            service   sshd   restart    --启动ssh服务
3、SSH免密码登录原理:Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。

4、步骤:
    a、 ssh-keygen –t rsa –P   --一路回车,生成无密码密钥对,id_rsa 和 id_rsa.pub,要想实现无密码登录,只需将自己本机生成的id_rsa.put加入到authorized_keys 文件中,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys   并且要设置authorized_keys的权限,设置为600,chmod  600  ~/.ssh/authorized_keys
    b、设置ssh配置,vim  /etc/ssh/sshd_config
       
    c、重启ssh服务:service   sshd  restart 

    d、验证:ssh   localhost 
    e、将本机公钥拷贝到其他节点上,scp ~/.ssh/id_rsa.pub hadoop@192.168.1.3:~/
要实现无密码登录,只要本机的authorized_keys文件中有对方的公钥id_rsa.pub即可
0 0
原创粉丝点击