Nacos集群_Linux版本安装

官方文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

官网架构图 集群部署架构图 因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面 http://ip1:port/openAPI直连ip模式,机器挂则需要修改ip才可以使用。 http://VIP:port/openAPI挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。 http://nacos.com:port/openAPI域名+VIP模式,可读性好,而且换ip方便,推荐模式 上图官网翻译,真实情况

按照上述,我们需要mysql数据库。

默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。 Nacos支持三种部署模式 单机模式-用于测试和单机试用。 集群模式-用于生产环境,确保高可用。 多集群模式-用于多数据中心场景。 在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤: 安装数据库,版本要求:5.6.5+ 初始化mysq数据库,数据库初始化文件: nacos-mysql.sql 修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。 db.num=1 db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=nacos_devtest db.password=youdontknow ``` 再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql。

Nacos之Linux版本安装

最终:1个Nginx+3个nacos注册中心+1个mysql

前提: Nginx、myql、JDK1.8在Linux中已经安装完成。

Nacos下载Linux版:https://github.com/alibaba/nacos/releases/tag/1.1.4

1、Linux服务器上面mysql数据库配置 执行sql脚本-/mynacos/conf/nacos-mysql.sql 将脚本放在mysql数据库上面运行。

2.application.properties配置

39  spring.datasource.platform=mysql
    40  db.num=1
    41  db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    42  db.user=root
    43  db.password=root

设置数据源。 3.Linux服务器上nacos的集群配置cluster.conf 梳理出3台nacos机器的不同服务端口号。

    3333 4444 5555
[root@localhost conf]# nl cluster.conf
     1  192.168.31.128:3333
     2  192.168.31.128:4444
     3  192.168.31.128:5555

注意:这里的Ip应该是自己虚拟机的ip地址,通过命令 hostname -i或ifconfig 查询得到的。 4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口

集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。 命令: ./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。 执行方式 - startup.sh - p 端口号

Nginx的配置,由它作为负载均衡器 通过命令./nginx -c /usr/local/webserver/nginx/conf/nginx.conf 按照指定配置文件启动。

截止到此处,1个Nginx+3个nacos注册中心+1个mysql

按照上述命令进行启动即可。

附:

    查看指定进程启动数: ps -ef | grep nacos | grep -v grep | wc -l 查看某个进程信息 ps -ef|grep nginx 查找文件命令 find / -name 文件名称 查看所有已经开启的端口号 firewall-cmd --list-ports 解压文件tar -zxvf 文件名称 开放端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent –zone 作用域 –add-port=3306/tcp 添加端口,格式为:端口/通讯协议 –permanent 永久生效 重启防火墙 systemctl restart firewalld.service 根据指定Pid结束进程 kill -9 pid 查询指定程序的进程 ps -A| grep nginx
经验分享 程序员 微信小程序 职场和发展