hadoop 配置SSH无密码访问
2016-09-05 21:39
555 查看
Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure
Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,所以我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
(1)命令:rpm –qa
| grep openssh
rpm –qa
| grep rsync
查看是否安装ssh服务,该版本环境已经安装该服务,所以无需安装,没有的情况下需要安装。
(2)配置master无密码登录所有的slave
Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode
| Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
Master机器上生成密码对
命令:ssh-keygen –t
rsa (生成其无密码密钥对,一路回车键,生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录)
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (把id_rsa.pub追加到授权的key里面去)
命令:chmod 600 ~/.ssh/authorized_keys(修改文件"authorized_keys"权限,这步骤很重要,很多莫名其妙的错误有可能就是权限的问题)
命令:sudo vi /etc/ssh/sshd_config (修改SSH配置文件"/etc/ssh/sshd_config"),修改如下内容RSAAuthentication
yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
命令:service sshd restart(重新启动服务)
命令:ssh localhost (测试是否成功)
下面是把公钥复制到所有的slave节点上去
mkdir .ssh
命令:scp ~/.ssh/id_rsa.pub hadoop@192.168.239.129:/home/hadoop/.ssh(记得改成自己的ip,这个是我的slave1的ip,就是把master节点的公钥发送到了slave1的根目录下了)
到这里,我的master节点的公钥已经发送到了slave1的根目录下,现在登录slave1节点,在slave1节点虚拟机上操作下面的内容
命令:chmod 700 ~/.ssh(修改.ssh权限)
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
着两行命令是把master的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去,第二行命令是修改该授权文件的权限
命令:sudo vi /etc/ssh/sshd_config (修改ssh配置文件,和上面master节点配置方式一样,参考下上面的步骤,在此不在重复)
到这里,master节点已经可以无密码访问slave1节点了,现在在master节点虚拟机上操作,测试是否已经成功,命令是:ssh
192.168.239.129,如果不输入密码登录成功就说明master无密码访问slave1成功.
注意:这里只是配置了master节点无密码访问slave1,还需要配置master无密码访问slave2节点、slave1无密码访问master节点、slave2无密码访问master节点,slave1无密码访问slave2节点、slave2无密码访问slave1节点。每次配置的步骤和上面讲述的master节点无密码访问slave1节点一样的,原理就是:::A若想无密码访问B,就需要把公钥发送给B,B把A发来的公钥添加到自己的授权文件里。
Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,所以我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
(1)命令:rpm –qa
| grep openssh
rpm –qa
| grep rsync
查看是否安装ssh服务,该版本环境已经安装该服务,所以无需安装,没有的情况下需要安装。
(2)配置master无密码登录所有的slave
Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode
| Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
Master机器上生成密码对
命令:ssh-keygen –t
rsa (生成其无密码密钥对,一路回车键,生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录)
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (把id_rsa.pub追加到授权的key里面去)
命令:chmod 600 ~/.ssh/authorized_keys(修改文件"authorized_keys"权限,这步骤很重要,很多莫名其妙的错误有可能就是权限的问题)
命令:sudo vi /etc/ssh/sshd_config (修改SSH配置文件"/etc/ssh/sshd_config"),修改如下内容RSAAuthentication
yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
命令:service sshd restart(重新启动服务)
命令:ssh localhost (测试是否成功)
下面是把公钥复制到所有的slave节点上去
mkdir .ssh
命令:scp ~/.ssh/id_rsa.pub hadoop@192.168.239.129:/home/hadoop/.ssh(记得改成自己的ip,这个是我的slave1的ip,就是把master节点的公钥发送到了slave1的根目录下了)
到这里,我的master节点的公钥已经发送到了slave1的根目录下,现在登录slave1节点,在slave1节点虚拟机上操作下面的内容
命令:chmod 700 ~/.ssh(修改.ssh权限)
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
着两行命令是把master的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去,第二行命令是修改该授权文件的权限
命令:sudo vi /etc/ssh/sshd_config (修改ssh配置文件,和上面master节点配置方式一样,参考下上面的步骤,在此不在重复)
到这里,master节点已经可以无密码访问slave1节点了,现在在master节点虚拟机上操作,测试是否已经成功,命令是:ssh
192.168.239.129,如果不输入密码登录成功就说明master无密码访问slave1成功.
注意:这里只是配置了master节点无密码访问slave1,还需要配置master无密码访问slave2节点、slave1无密码访问master节点、slave2无密码访问master节点,slave1无密码访问slave2节点、slave2无密码访问slave1节点。每次配置的步骤和上面讲述的master节点无密码访问slave1节点一样的,原理就是:::A若想无密码访问B,就需要把公钥发送给B,B把A发来的公钥添加到自己的授权文件里。
相关文章推荐
- 通过sshpass实现自动配置搭建Hadoop完全分布式所需的SSH免密码访问
- hadoop ssh无密码访问配置
- 部署Hadoop集群前奏之ssh如何不输入密码在Master与Slave之间访问
- 解决ssh配置无密码登录后 又出现输入密码的情况--hadoop集群配置
- 在VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境03_配置虚拟机之间SSH无密码登录
- 部署Hadoop集群前奏之ssh如何不输入密码在Master与Slave之间访问
- hadoop环境配置之SSH无密码登陆的配置(备注:转载)
- 配置hadoop集群时,ssh无密码登陆设置(各个主机的用户名需要一样)
- Hadoop集群(第5期副刊)_JDK和SSH无密码配置
- 【hadoop之翊】——hadoop配置ssh免密码登录,解决ssh设置好了依然需要输入密码的问题
- hadoop中的ssh无密码登录配置
- Linux(RedHat6.0)下配置SSH无密码访问
- hadoop安装配置之ssh无密码登陆
- ubuntu 中ssh无密码配置 ,hadoop节点之间无密码登录
- Hadoop集群(第5期副刊)_JDK和SSH无密码配置
- 配置hadoop无密码登陆ssh
- 在VMWare Workstation8.0上使用ubuntu11安装和配置Hadoop群集环境02_配置虚拟机之间SSH无密码登录
- Hadoop集群(第5期副刊)_JDK和SSH无密码配置
- ssh面密码登录配置-hadoop安装准备
- hadoop配置之SSH无密码登陆的配置