目录
文章目录
前言
一、Nacos持久化
1.1 为什么要配置Nacos持久化
1.2配置nacos持久化步骤
1.3 初始化数据库
1.3.1 导入数据库
二、集群
2.1 部署架构图
2.2 节点规划
2.3 集群搭建
2.3.1 找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf ,并将内容改为如下:
编辑
2.3.2复制三份Nacos
2.3.3 分别把三份Nacos中 将conf/application.properties 中的端口号改为对应的端口号:
2.3.4 测试
2.4 安装nginx
2.4.2 配置nginx代理nacos
三 Nacos开机自启
3.1.编写开机启动文件
3.2.修改nacos的startup.sh
3.3.设置开机启动
例如:Nacos的集群和持久化
Nacos默认有自带嵌入式数据库derby,但是如果做集群模式的话,就不能使用自己的数据库不然每个节点一个数据库,那么数据就不统一了,需要使用外部的mysql
修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql,版本要求:5.6.5+)
### If use MySQL as datasource:
spring.datasource.platform=mysql #使用的数据库### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.184.128:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC #数据库的地址
db.user.0=root #数据库的账户
db.password.0=1111 #数据库的密码
nacos为我们提供了初始化的mysql脚本。
在nacos根目录下的/conf/nacos-mysql.sql
我们先要在我们的mysql库里创建一个叫nacos的数据库
然后把脚本导入到这个库里就可以了。
具体案例请看:SpringCloud讲解&注册中心&配置中心_一只小阿辉的博客-CSDN博客
重启nacos测试nacos所有写到嵌入式数据库的数据是否都写到了mysql:
集群多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点。
集群的作用和意义:可扩展性、高可用性、负载均衡、错误恢复等。
1、可扩展性:集群的性能不限于单个服务实体,可以动态地将新的服务实体添加到群集中,以提高群集性能。
2、高可用性:当集群的一个节点失败时,在该节点上运行的应用程序将自动在另一个节点上被接管。消除单个故障对于提高数据可用性、可访问性和可靠性非常重要。
节点 | 端口 |
---|---|
192.168.184.131 | 8848 |
192.168.184.131 | 8849 |
192.168.184.131 | 8850 |
# ip:port
192.168.184.131:8848
192.168.184.131:8849
192.168.184.131:8850
[root@localhost bin]# cd /usr/local
[root@localhost local]# mkdir nacos_cluster
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost local]# cp -r nacos nacos_cluster/nacos_8850
conf/application.properties
中的端口号改为对应的端口号:server.port=8848
server.port=8849
server.port=8850
2.3.4.1 启动三台nacos
[root@localhost upload]# cd /usr/local/nacos_cluster/nacos_8848/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8849/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8850/bin
[root@localhost bin]# ./startup.sh
安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载nginx
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
解压安装包
tar -zxvf nginx-1.12.0.tar.gz
配置nginx安装包
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx #安装的目录
注意:./configure配置nginx安装到/usr/local/nginx目录下
编译并安装
make && make install
代码如下:
upstream nacos {
server 192.168.184.131:8848;
server 192.168.184.131:8849;
server 192.168.184.131:8850;
}server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nacos;
}
}
启动nginx
[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
启动nacos服务,并访问(通过nginx分配给nacos)
添加nacos.service文件
vim /lib/systemd/system/nacos.service
文件内容如下:
[Unit]
Description=nacos
#网络启动之后在在启动nacos
After=network.target
[Service]
#守护线程
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
#临时空间是私有的
PrivateTmp=true
[Install]
#所有用户都可以用
WantedBy=multi-user.target
修改JAVA_HOME路径并注销之后的3行配置,如下:
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_191
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
#[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
systemctl daemon-reload #重新加载服务配置
systemctl enable nacos.service #设置为开机启动
systemctl start nacos.service #启动nacos服务
systemctl stop nacos.service #停止nacos服务