目标:在Linux系统搭建三个节点组成的Nacos集群,实现高可用服务注册中心。
相关环境
OS:macOS Big Sur
VM:VMware Fusion 12
Linux镜像:CentOS-7-x86_64-Minimal-1611.iso
JDK:CentOS-7-x86_64-Minimal-1611.iso
nacos:1.4.0
创建虚拟机
用CentOS-7-x86_64-Minimal-1611.iso镜像文件在VMware中创建虚拟机。注意:分配2048MB内存,设置系统初始化root密码。设置虚拟机网卡:连接模式选择桥接模式(Bridged Adapter)。虚拟机必须有一块网卡,这块网卡是通过什么方式去宿主机里的网卡进行通讯,桥接网卡,就可以让你的虚拟机里的网卡跟你宿主机的一块网卡进行通讯。
配置网络
修改文件:$vi /etc/sysconfig/network-scripts/ifcfg-ens33
...
ONBOOT=yes #设置系统启动激活网卡
...
重启服务:$service network restart
查看自动分配的IP地址:$ip addr
设置静态IP:
BOOTPROTO=static #静态IP
IPADDR=192.168.1.8 #IP地址
NETMASK=255.255.255.0 #掩码
GATEWAY=192.168.31.1 #即本机路由器
# 注释掉设备ID
重启服务:service network restart
检查网络状态
检查NetManager的状态:$systemctl status NetworkManager.service
检查NetManager管理的网络接口:$nmcli dev status
检查NetManager管理的网络连接:$nmcli connection show
设置dns:$nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"
使dns配置生效:$nmcli con up enp0s3
注:要搭建集群,在本地有防火墙的话,可能会没有办法互相连接,会导致搭建失败。
关闭防火墙:
$systemctl stop firewalld.service
$systemctl disable firewalld.service
安装JDK
- 将rpm文件通过scp上传到虚拟机中:
$scp jdk-8u131-linux-x64.rpm root@ip:/usr/local。 - 安装JDK:
$rpm -ivh jdk-8u131-linux-x64.rpm - 配置jdk相关的环境变量:
$vi /etc/bashrc #edit
...
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
...
$source /etc/bashrc #enable
测试jdk安装是否成功:java -version。
安装CentOS集群
按照上述步骤,再安装2台一模一样环境的linux机器。安装好之后,在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系
$vi /etc/hosts
192.168.1.8 nacos01
192.168.1.9 nacos02
192.168.1.10 nacos03
设置SSH免密码互相通信
- 生成SSH密钥:
ssh-keygen -t rsa - ssh-keygen命令默认会将公钥放在/root/.ssh目录下。
cd /root/.ssh -
cp id_rsa.pub authorized_keys将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了。 - 配置三台机器互相之间的ssh免密码登录,在每台机器上执行下面的命令
使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中。
nacos01 $ssh-copy-id -i nacos02
nacos01 $ssh-copy-id -i nacos03
...
测试SSH免密配置是否成功:ssh nacos02。