导航

Hadoop集群节点间设置SSH免密码登录

Posted on 2019-07-17 17:19  两张10元钱  阅读(1041)  评论(0编辑  收藏  举报

如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704 

一、为什么设置ssh免密码登录

在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。例如,某个脚本能够终止并重启集群中的所有守护进程。所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录。

 

二、环境

  Hadoop集群,虚拟机中安装了3个节点,为centos6.5操作系统

  master : 192.168.232.2(为主节点)

  slave1 : 192.168.232.3

  slave2 : 192.168.232.4

 

三、设置免密码登录流程概述

  •  3个节点上分别生成密钥
1 ssh-keygen -t rsa

      将公钥复制为authorized_keys

1 cp ~/.ssh/id_ras.pub ~/.ssh/authorized_keys
  • slave1salve2中的~/.ssh/authorized_keys远程传输到master

  slave1中执行:

 

scp ~/.ssh/authorized_keys zhangc@master:~/.ssh/authorized_keys_slave1

  Slave2中执行:

scp ~/.ssh/authorized_keys zhangc@master:~/.ssh/authorized_keys_slave2

  zhangc@masterzhangc为我虚拟机用户名,master为虚拟机名称

 

  • master虚拟机上将authorized_keys_slave1authorized_keys_slave2添加到authorized_keys
cd ~/.ssh/
cat authorized_keys_slave1 >> authorized_keys
cat authorized_keys_slave2 >> authorized_keys

  查看是否将authorized_keys_slave1 authorized_keys_slave2写入到authorized_keys

cat authorized_keys
  • 如果添加成功,将master中的~/.ssh/authorized_keys分发到slave1slave2节点

 

scp ~/.ssh/authorized_keys zhangc@slave1:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys zhangc@slave2:~/.ssh/authorized_keys

 

四、互测SSH

master中:

ssh slave1

ssh slave2

slave1中:

ssh master

ssh slave2

slave2中:

ssh master

ssh slave1