之前上学搞过的hadoop,spark集群,现在有点忘了,特此写一篇关于搭建hadoop,spark集群过程中重要节点。
先介绍通过SSH实现机器间的无密码互相访问。
我的环境:
VM搭建的三个虚拟机,均采用centos-6.8-64.iso
机器IP与名称对应关系如下:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
这里为了避免一些权限问题,登陆都用root。
1. 分别在三台机器编辑/etc/hosts文件添加如下内容
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
2. 依次查看三台机器ssh有没有安装:
# rpm -qa | grep openssh
3. 先在master机器上生成密钥对:
# ssh-keygen -t rsa
连续回车会在当前用户的目录下(笔者是/root/.ssh)生成隐藏文件夹.ssh,该文件夹会生成私钥文件id_rsa,
公钥文件id_rsa.pub。接下来把master的公钥追加到authorized_keys文件里:
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
4. 然后分别在slave1,slave2机器上按照上述步骤生成密钥对:
5. 用root登陆slave1,把slave1的公钥远程拷贝到master机器上之后追加到master机器上的authorized_keys:
# scp /root/.ssh/id_rsa.pub root@192.168.152.192:/root/ (copy到master的root目录下,输入master密码)
# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys (登陆master之后追加到授权文件里)
# rm -rf /root/id_rsa.pub (删除远程传过来的slave1公钥)
6. 用root登陆slave2,把slave2的公钥远程拷贝到master机器上之后追加到master机器上的authorized_keys:
# scp /root/.ssh/id_rsa.pub root@192.168.152.192:/root/ (copy到master的root目录下,输入master密码)
# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys (登陆master之后追加到授权文件里)
# rm -rf /root/id_rsa.pub (删除远程传过来的slave2公钥)
7. 把存有master,slave1,slave2公钥文件的授权文件authorized_keys文件再远程copy到slave1,slave2上去:
# scp /root/.ssh/authorized_keys root@192.168.152.193:/root/.ssh
# scp /root/.ssh/authorized_keys root@192.168.152.194:/root/.ssh
8. 分别在三台机器上用远程登陆命令ssh登陆验证是否成功:
ssh slave1
ssh slave2
ssh master
第一次ssh会让你输入密码,之后便可以互相无密码访问了。