七叶笔记 » golang编程 » 纯理论的技术讨论都是耍流氓,ssh免密登录,动手搭建Hadoop(1)

纯理论的技术讨论都是耍流氓,ssh免密登录,动手搭建Hadoop(1)

最近准备搭建 hadoop 集群,把想整个经过记录一下。首先安装了4台 虚拟机 作为服务器。操作系统是CentOS 6.5. 今天先解决,ssh免密访问。由于hadoop要设置一个master namenode一个secondary namenode,还有两个datanode。他们之间如果需要访问,特别是namenode需要访问datanode需要通过ssh,如果每次都要输入密码是有点麻烦的所以先把免密访问的问题解决再说。

准备条件

四个服务器实现互相通过ssh无密码访问。

node01:192.168.146.101

node01:192.168.146.102

node01:192.168.146.103

node01:192.168.146.104

修改/etc/hosts 文件

把如下内容放到里面

192.168.146.101 node01

192.168.146.102 node02

192.168.146.103 node03

192.168.146.104 node04

设置SSH 无密码登录

保证安装了ssh命令

默认在 ~/.ssh目录生成两个文件:

id_rsa : 私钥

id_rsa.pub :公钥

这里.ssh目录会自动生成不需要手动创建

node01操作

ssh-keygen -t rsa

以上操作依次在node01,node02,node03,node04机器上操作然后,分别在每台机器(node02,node03,node04)上copy公钥到node01上。我这里使用的 root 用户,所以ssh的目录在/root/.ssh 下面,如果你用的其他的用户应该是在/home/你的用户/.ssh下面。

备注:192.168.146.101 是node01的ip

node02 操作

ssh-keygen -t rsa

cd /root/.ssh

scp id_rsa.pub root@192.168.146.101:/root/.ssh/id_rsa.pub.node02

node03 操作

ssh-keygen -t rsa

cd /root/.ssh

scp id_rsa.pub root@192.168.146.101:/root/.ssh/id_rsa.pub.node03

node04 操作

ssh-keygen -t rsa

cd /root/.ssh

scp id_rsa.pub root@192.168.146.101:/root/.ssh/id_rsa.pub.node04

然后回到node01,将自己的公钥和其他三台服务器的公钥全部都放到 authorized_keys 文件中。

node01操作

cd /root/.ssh

cat id_rsa.pub >> authorized_keys

cat id_rsa.pub.node02 >> authorized_keys

cat id_rsa.pub.node03 >> authorized_keys

cat id_rsa.pub.node04 >> authorized_keys

最后将生成好的authrozied_keys文件copy到node02,node03,node04

node01操作

scp authorized_keys root@192.168.146.102:/root/.ssh/authorized_keys

scp authorized_keys root@192.168.146.103:/root/.ssh/authorized_keys

scp authorized_keys root@192.168.146.104:/root/.ssh/authorized_keys

这里需要注意几点文件夹和文件的权限

chmod 700 /root/.ssh

chmod 600 /root/.ssh/authorized_keys

然后就可以直接通过命令访问其他几个节点了。

ssh node01

ssh node02

ssh node03

ssh node04

相关文章