一、Ubuntu安装
本次实战使用的Linux版本为Ubuntu,关于Ubuntu的安装教程可以看我的另一篇博客:
二、虚拟机克隆
1、在关机状态下右键选择要复制的基础虚拟机。
2、完整克隆和链接克隆的区别:
完整克隆和链接克隆都可以从字面意思上来看出端倪,所说的完整克隆就是把原始的虚拟机全部状态的一个拷贝,除了mac地址和UUID,其余虚拟机的配置都是一样的,克隆出来的虚拟机和原始的虚拟机是相互独立的不共享任何资源,都有自己独立的CPU、内存和存储空间,好处就是安全性更高;而链接克隆呢,字面意思是通过链接......克隆出一个虚拟机,肯定是和原始的虚拟机有关系的,虽然服务器会给克隆出的虚拟机分配新的CPU和内存,但是他们共享一个虚拟磁盘文件,克隆出来的虚拟机是不能脱离原始虚拟机独立运行,好处就是链接克隆虚拟机更快,节省空间,相比较来说不是那么安全。
完整克隆和链接克隆所占的CPU和内存是差不多的,所以更加推荐完整克隆。
3、选择完整克隆的话需要的时间较长。
三、进行相关配置
1、etc配置文件目录简介(常用):
/etc/profile 系统全局环境变量设置
/etc/bash.bashrc bash的环境变量设置,里面添加启动bash时读取的环境
/etc/hosts主机域名的配置
/etc/network有关网络的设置
2、对主机重命名(每个虚拟机都要进行操作)
用sudo超级权限对/etc/hostname文件进行修改
分别取名为hadoopm,hadoop_s1,hadoop_s2
3、虚拟机之间网络互通配
设置静态ip
由于每台虚拟机要作为服务器,避免每次重新分配IP地址,对每台虚拟机设置静态IP
设置虚拟网络编辑器
照下图设置即可:
点击NAT设置,这里可以看到子网掩码、网关,后面设置会用到,也可以自己修改,IP地址就根据子网IP随意设置:
点击每个虚拟机的设置-网络适配器,选择自定义-VMnet8模式:
VMnet8是最简单的组网方式,NAT,虚拟机之间、主机与虚拟机之间互访,虚拟机可以通过主机访问外网,外网无法访问虚拟机。
先查看自己的网卡:
可以看到该版本的网卡为ens33
用sudo vi /etc/network/interfaces修改IP,网卡要对应自己的:
address:静态IP地址
network:子网掩码
gateway:网关
修改/etc/NetworkManager/NetworkManager.conf文件,将managed设置为true:
/etc/resolvconf/resolv.conf.d/base设置DNS:
用sudo /etc/init.d/networking restart命令重启网络,是设置生效:如果报错重启大法好,否则就是前面的设置有问题,好好检查一下
用ifconfig命令查看三个虚拟机的ip地址是否更改成功:
接下来进行设置,以便使用主机对应的域名就可以实现互联:
修改每个虚拟机的 /etc/hosts文件,将三个虚拟机的ip地址-域名映射写进去
用 ping命令查看三个虚拟机间是否互通:
如果前面的配置正确则ping测试成功。
四、SSH免密登录
1、在每个虚拟机中输入下列三个命令,产生密钥:
输入下列命令查看是否生成成功:
若无需输入密码,则单机ssh免密码登录成功
2、让主节点免密登录两个子节点
scp命令是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
在字节点的虚拟机hadoop_s1和hadoop_s2中,进入~/.ssh目录,输入以下命令:
scp hadoopm:~/.ssh/id_rsa.pub ./hadoopm_rsa.pub //复制hadoopm的公钥
cat hadoopm_rsa.pub >> authorized_keys //将hadoopm的公钥追加到hadoop_s2的authorized_keys文件中
3、测试
在主节点hadoopm中 输入ssh命令去访问另外两个虚拟机,第一次需要输入密码,输入exit退出后再次连接不在需要密码即设置成功。