虚拟机集群搭建

Posted by BY KiloMeter on March 10, 2019

系统安装

1、新建虚拟机

下一步内存给分配1G

后面的全部使用默认设置

现在创建虚拟硬盘

VDI

动态分配

这里要改变下虚拟机的虚拟文件位置,默认是放在C盘下面的。

创建完后,选中虚拟机,点击设置,设置网卡,改成桥接网卡

启动虚拟机,选择镜像文件

选择skip

语言选择english,

选择默认的选项

选择yes,抛弃所有文件数据。

输入主机名

下面选择市区,选择Asia/Shanghai即可,之后输入密码

选择默认项

选择write change,接下来等安装完reboot重启即可。

启动后输入用户名root和密码即可登录,接下来要配置网络。

网络配置

先临时设置虚拟机IP地址:ifconfig eth0 192.168.43.110

设置完后可以通过ifconfig命令查看

之后修改 /etc/hosts文件,添加IP和主机名

设置完后可以使用ping 主机名,ping通即配置成功

之所以配置临时IP,是为了能够让windows连接上虚拟机然后来进行管理,我这边用的是xshell

输入IP地址后,在用户身份验证中输入用户名和密码,连接即可登录上linux。

如果为了想在windows使用主机名连接linux,可以修改下windows上的host文件

同样配置完后可以在windows命令行中ping下是否能够连通。

接下来配置linux的永久网络

修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件

重启网卡 service network restart

关闭防火墙 service iptables stop

​ service ip6tables stop

​ chkconfig iptables off

​ chkconfig ip6tables off

修改配置文件vi /etc/selinux/config

SELINX=disable

配置DNS服务器

vi /etc/resolve.conf

nameserver 61.139.2.69

ping www.baidu.com

如果这个时候无法ping通,可以使用下面的办法

vi /etc/sysconfig/network-scripts/ifcfg-eth0

删除掉IPADDR,NETMASK,GATEWAY,把BOOTPROTO修改成dhcp,然后用service network restart重启网卡,此时linux会重新分配IP地址(如果此时是在xshell中修改的,重启网卡后xshell将会和虚拟机断开连接,需要回到linux机器上继续后面的操作),使用ifconfig查看ip,然后再把eth0这个配置文件改成自动分配的IP地址即可。

然后再把上面网络配置从修改linux的hosts文件开始,把所有的操作再全部重来一遍即可,下面不再赘述。

最后全部配置完后重启下网卡,看看linux和本机能否互相ping通,虚拟机能否ping通外网即可。

到这一步基本上虚拟机是配置完成了,后面可以自己去搞一些必要的东西 比如yum,JDK等等。。

因为要搭建集群,所以再新建两台虚拟机,重复执行跟上面一样的操作流程。

搭建完之后之后,统一修改下所有的/etc/hosts文件,把三台机器的IP和主机名配置写上。

免密登录

以下操作均需要在集群的所有机器上执行

1、产生密钥

ssh-keygen -t rsa

2、将公钥追加到”authorized_keys”文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、赋予权限

chmod 600 .ssh/authorized_keys

4、验证本机能无密码访问

ssh sparkproject1

最后,依次配置h-salve1~3无密码访问

二、配置所有机器互相免密其他机器

以sparkproject1 免密登录sparkproject2为例

登录sparkproject2 ,复制sparkproject1 服务器的公钥”id_rsa.pub”到sparkproject2服务器的”root”目录下。

scp root@sparkproject1:/root/.ssh/id_rsa.pub /root/

2)将sparkproject1 的公钥(id_rsa.pub)追加到sparkproject2的authorized_keys中

cat id_rsa.pub >> .ssh/authorized_keys
rm -rf  id_rsa.pub

3)在 sparkproject1上面测试

ssh  sparkproject2

这样sparkproject1就能够免密登录sparkproject2了。

参考:hadoop分布式集群搭建