VMWare下创建CentOS7节点集群
最近在看大数据的视频,一般都需要建立几个集群,网上的教程一般都是基于CentOS6;
但是CentOS6目前已经要停止维护了,所以我这里使用CentOS7建立了一个集群,过程还是蛮简单的。
VMWare下创建CentOS7节点集群
安装镜像
首先在镜像站下载CentOS-7-x86_64-Minima.iso,即最小的镜像文件;
然后在VMWare安装这个镜像,作为模板进行配置;
具体镜像安装挺简单的,这里不再赘述了;
只贴一个配置:
1个处理器2核
2G内存
20G硬盘SCSI
网络:NAT
分区:
/boot:256M
swap:2G
/:剩余
配置网络
安装完成后,有极大的可能是无法联网的(所以也不能使用yum安装);
首先修改配置vi /etc/sysconfig/network:
1 2 3 4
| $ vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME=node0
|
还要修改vi /etc/sysconfig/network-scripts/ifcfg-ens33:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $ vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy IPADDR=192.168.24.60 NETMASK=255.255.255.0 GATEWAY=192.168.24.2 NAME=ens33 DEVICE=ens33 ONBOOT=yes DNS1=192.168.24.2 DNS2=114.114.114.114
|
上面的配置主要是为了将网络修改为静态IP;
在CentOS6中是/etc/sysconfig/network-scripts/ifcfg-eth0;
配置中的几个重点:
- BOOTPROTO:修改为static,即静态IP;
- IPADDR:静态的IP地址;
- NETMASK:子网掩码,选择255.255.255.0即可;
- GATEWAY:网关,结尾为
.2,NAT分配的子网地址可在编辑→虚拟网络编辑器中查看;
- DNS1、DNS2:DNS1可选择本机网关地址、DNS2可配置114.114.114.114等公共DNS;
- UUID:删除;
- ONBOOT:yes,开机启用网络(开启才能开机就联网);
最后配置hosts:
1 2 3 4 5 6 7 8 9
| $ vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
+ 192.168.24.60 node0 + 192.168.24.61 node1 + 192.168.24.62 node2 + 192.168.24.63 node3 + 192.168.24.64 node4
|
上述配置根据你实际情况修改;
配置完成后reboot;
reboot后登录,ping百度等网站,成功则说明配置成功;
下载和配置软件
配置yum源:
1 2 3 4 5 6 7 8 9 10 11
|
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y install epel-release yum -y update
|
随后,可通过yum安装vim、htop、ntp、net-tools等软件;
配置ntp:
1 2 3 4 5
| $ service ntpd start
$ systemctl enable ntpd
|
关闭防火墙iptables:
1 2 3
| $ service iptables stop
$ systemctl disable iptables
|
禁用selinux:
1 2 3 4 5 6 7 8
| $ getenforce Enforcing
$ vim /etc/selinux/config
SELINUX=disabled
|
禁用防火墙firewalld:
1 2
| systemctl stop firewalld systemctl disable firewalld
|
关闭sshd服务的DNS加快SSH登录:
1 2 3
| $ vim /etc/ssh/sshd_config
UseDNS no
|
允许Root身份登录、允许空密码登录、是否允许使用密码认证:
1 2 3
| PermitRootLogin yes PermitEmptyPasswords no PasswordAuthentication yes
|
在制作镜像快照前,如果系统是CentOS6,则还需要删除/etc/udev/rules.d/70-persistent-net.rules文件;
注:删除之后不可重启!否则下次重启还会自动创建该文件,还需要删除!
创建快照并克隆
选择虚拟机→快照→拍摄快照,使用当前虚拟机的当前状态拍摄快照;
拍摄完成后,选择当前拍摄快照,点击克隆,选择现有快照,克隆类型有两种:链接克隆和完整克隆,选择一个即可;随后修改名称,完成即可;
链接克隆和完整克隆:
- 链接克隆:母镜像损坏,克隆机都会损坏,但存储占有率低;
- 完整克隆:母镜像和克隆机互不影响,但存储占有率高;
修改克隆机
通过镜像克隆四台虚拟机,取名为node1~node4;
修改各台虚拟机的配置:
node1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| $ vi /etc/sysconfig/network NETWORKING=yes - HOSTNAME=node0 + HOSTNAME=node1
$ vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy - IPADDR=192.168.24.60 + IPADDR=192.168.24.61 NETMASK=255.255.255.0 GATEWAY=192.168.24.2 NAME=ens33 DEVICE=ens33 ONBOOT=yes DNS1=192.168.24.2 DNS2=114.114.114.114
|
其他虚拟机类似;
最后做测试,如在node1去ping其他node:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [root@node1 ~]# ping node2 PING node2 (192.168.24.62) 56(84) bytes of data. 64 bytes from node2 (192.168.24.62): icmp_seq=1 ttl=64 time=0.313 ms 64 bytes from node2 (192.168.24.62): icmp_seq=2 ttl=64 time=0.203 ms 64 bytes from node2 (192.168.24.62): icmp_seq=3 ttl=64 time=0.194 ms ^C --- node2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.194/0.236/0.313/0.056 ms [root@node1 ~]# ping node3 PING node3 (192.168.24.63) 56(84) bytes of data. 64 bytes from node3 (192.168.24.63): icmp_seq=1 ttl=64 time=0.291 ms 64 bytes from node3 (192.168.24.63): icmp_seq=2 ttl=64 time=0.271 ms 64 bytes from node3 (192.168.24.63): icmp_seq=3 ttl=64 time=0.224 ms ^C --- node3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.224/0.262/0.291/0.028 ms
|
成功!