配置linux集群

克隆linux

配置4台虚拟机的内存

4台虚拟机再加上windows本身, 需要同时运行5台机器, 所以在分配的时候, server1节点配置8g,3个agent节点配置6g

下面是以node1为例对内存进行配置:

配置mac地址

先配置agent1的mac地址

配置agent2,agent3的MAC地址 同上

配置ip地址

4台虚拟机的IP地址配置如下:

server1 192.168.163.10

agent1 192.168.163.11

agent2 192.168.163.12

agent3 192.168.163.13

配置3台agent的ip地址

第一步: 打开配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ensXX

第二步: 设置ip

第三步 重启网卡服务

systemctl restart network

查看ip地址

ifconfig

测试网络连接

ping www.baidu.com

配置主机名

分别编辑每台虚拟机的hostname文件,直接填写主机名,保存退出即可。

vim /etc/hostname

第一台主机主机名为: server1

第二台主机主机名为: agent1

第三台主机主机名为: agent2

第四台主机主机名为: agent3

配置每台虚拟机域名映射

分别编辑每台虚拟机的hosts文件,在原有内容的基础上,填下以下内容:

注意:不要修改文件原来的内容,4台虚拟机的配置内容都一样。

vim /etc/hosts

192.168.163.10 server1

192.168.163.11 agent1

192.168.163.12 agent2

192.168.163.13 agent3

配置后效果如下:

4台机器机器免密码登录

注意:配置前, 先重启

4台机器生成公钥与私钥

在4台机器执行以下命令,生成公钥与私钥

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),默认保存在/root/.ssh目录。

拷贝公钥到同一台机器

4台机器将拷贝公钥到第一台机器

4台机器执行命令:

ssh-copy-id server1

在执行该命令之后,需要输入yes和server1的密码:

复制第一台机器的认证到其他机器

将第一台机器的公钥拷贝到其他机器上

在第一台机器上指行以下命令

scp /root/.ssh/authorized_keys agent1:/root/.ssh

scp /root/.ssh/authorized_keys agent2:/root/.ssh

scp /root/.ssh/authorized_keys agent3:/root/.ssh

执行命令时,需要输入yes和对方的密码

测试SSH免密登录

可以在任何一台主机上通过ssh 主机名命令去远程登录到该主机,输入exit退出登录

例如:在agent1机器上,免密登录到agent2机器上

执行效果如下:

4台机器时钟同步

为什么需要时间同步

因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是1, B节点 记录的时间是2, 就会出问题

通过网络进行时钟同步

通过网络连接外网进行时钟同步,必须保证虚拟机连上外网

启动定时任务

[root@node1 ~]# crontab -e

随后在输入界面键入以下内容,每隔一分钟就去连接阿里云时间同步服务器,进行时钟同步

*/1 * * * * /usr/sbin/ntpdate -u ntp4.aliyun.com;

修改时区

先查看系统时区是否是"Asia/Shanghai",如果不是,则通过以下方式修改时区

先改服务时区:

timedatectl status

timedatectl list-timezones

timedatectl set-timezone "Asia/Shanghai"

chronyc -a makestep

--------------------------------------------

后改系统时区:

先查看服务器时区用的那个

ls -l /etc/localtime

如果要修改运行 tzselect 命令

之后依次选择 Asia -> Shanghai

设置完还没完,要手动更改时区文件

mv /etc/localtime /etc/localtime-back

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

测试

[root@nodeX ~]# date

查看4个节点的时间是否一致