配置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个节点的时间是否一致