SpringCloudAlibaba之Nacos的持久化和高可用——详细讲解

目录

一、Nacos持久化

1.持久化说明

 2.安装mysql数据库5.6.5+以上版本(略)

 3.修改配置文件

 二、nacos高可用

1.集群说明

2.nacos集群架构图 

 2.集群搭建注意事项

3.集群规划

 4.搭建nacos集群

5.安装Nginx

6.配置nginx conf配置文件

 7.启动nginx进行测试即可


一、Nacos持久化

1.持久化说明

在0.7版本之前,在单机模式时nacos使用嵌入式数据库(derby)实现数据的存储,不方便观察数据存储的基本情况。
0.7版本增加了支持mysql数据源能力,具体的操作步骤:
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

 2.安装mysql数据库5.6.5+以上版本(略)


- 添加官方的yum源创建并编辑mysql-community.repo文件
    vi /etc/yum.repos.d/mysql-community.repo
- 粘贴以下内容到源文件中
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

- 安装mysql
    yum install mysql-community-server -y

- 启动mysql数据库
    systemctl start mysqld

- 修改mysql数据库密码
    grep 'temporary password' /var/log/mysqld.log
    mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码
- 登录mysql
    mysql -uroot -p'yourPwd'
- 修改远程连接
    grant all privileges on *.* to 'root'@'%' identified by 'yourPwd' with grant option;
    flush privileges;

 3.修改配置文件

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?        
       characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
            &useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user=root
    db.password=yourPwd

 二、nacos高可用

1.集群说明

集群 cluster : 统一种软件服务的多个节点对一个系统提供服务称之为这个软件服务集群  tomcat集群  mysql集群  redis集群 es集群...
    集群解决问题:
                        1.并发访问压力
                        2.单节点故障问题

2.nacos集群架构图 

集群部署说明

 2.集群搭建注意事项

注意: 
        a.3个或3个以上Nacos节点才能构成集群。
        b.要求虚拟机内存分配必须大于2G以上

3.集群规划

node cluster:
    ip 8845 nacos01
    ip 8846 nacos02
    ip  8847 nacos03
    ip  9090 nginx
    ip  3306 mysql 

 4.搭建nacos集群

    1).将nacos安装包从新解压缩
    2).开启nacos mysql持久化
         注意:数据库中不能存在原始数据
    3).修改nacos conf目录中cluster.conf文件添加所有集群节点
        ip:8845
        ip:8846
        ip:8847            
    4).将修改后nacos复制三份 
        注意:修改为不同端口信息
    
    5).分别启动三台机器
        ./startup.sh

 

5.安装Nginx

- 0.安装必要依赖
    yum install -y gcc pcre-devel zlib-devel
- 1.下载Nginx
    http://nginx.org/en/download.html

- 2.将Nginx上传到linux中,并解压缩
     tar -zxvf nginx-1.11.1.tar.gz

- 3.查看Nginx安装目录
    [root@localhost nginx-1.11.1]# ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

- 4.在Nginx安装目录中执行如下命令:(指定安装位置)
    ./configure --prefix=/usr/nginx

- 5.执行上述命令后,执行如下命令:
    make && make install
-6. 启动
    1.进入sbin目录 启动命令:./nginx 
    查看nginx 是否启动成功 : ps aux|grep nginx 默认监听端口为80:端口  http://主机:80
    2.关闭 Nginx 服务 ./nginx -s stop
    3.加载配置启动 ./nginx -c /usr/nginx/conf/nginx.conf

6.配置nginx conf配置文件

 a.加入如下配置:
    upstream  nacos-servers {
        server ip:8845;
        server ip:8846;
        server ip:8847;
    }
    b.修改
    location / {
      proxy_pass http://nacos-servers/;
      } 

 7.启动nginx进行测试即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言——数组转换

将的两行三列数组转换为三行两列的数组 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int a[2][3]{{1,2,3},{4,5,6}};int b[3][2],i,j;for ( i 0; i <1; i){for ( j 0; j <2; j){printf("%5d",a[i][j]);b[j][i]a[i][j];}printf(&…

国标GB28181安防监控平台EasyCVR周界入侵AI算法检测方案

在城市管理和公共安全领域&#xff0c;安全视频监控的重要性日益凸显。AI视频智能分析平台基于深度学习和计算机视觉技术&#xff0c;利用AI入侵算法&#xff0c;能够实时、精准地监测周界入侵行为。 TSINGSEE青犀在视频监控及AI视频智能分析领域拥有深厚的技术积累和丰富的实…

idea创建spring boot项目,java版本只能选择17和21

1.问题描述 java版本为"11.0.20"&#xff0c;idea2023创建spring boot项目时&#xff08;File->Project->Spring Initializr&#xff09;&#xff0c;java版本无法选择11&#xff0c;导致报错&#xff0c;如下图所示&#xff1a; 2.原因 spring2.X版本在2023…

Blender动画导入Three.js

你是否在把 Blender 动画导入你的 ThreeJS 游戏(或项目)中工作时遇到问题? 您的 .glb (glTF) 文件是否正在加载,但没有显示任何内容? 你的骨骼没有正确克隆吗? 如果是这样,请阅读我如何使用 SkeletonUtils.js 解决此问题 1、前提条件 你正在使用 Blender 3.1+(此版本…

前端---CSS篇(详解CSS)

1.CSS简介 CSS(Cascading Style Sheets)层叠样式表&#xff0c;是用来为结构化文档&#xff08;HTML、XML等应用&#xff09;添加样式,比如字体、颜色、大小、间距的计算机语言。CSS目前已经发展到了CSS3.0了。 2.CSS导入方式 CSS有三种导入方式&#xff1a; 1.行内样式&am…

ElementPlusError: [ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档

使用element table出现这个错误好几回了&#xff0c;今天把它记录一下&#xff0c;并把错误原因复盘一遍。具体如下&#xff1a; 错误截图 原因 其实这个错误挺迷的&#xff0c;我把各种情况都测试了一遍&#xff0c;最后发现是因为给 翻页参数 total 传值错误导致的。 总结…

量子力学技术前沿:探索、挑战与未来

量子力学技术前沿:探索、挑战与未来 一、引言 量子力学,这门揭示微观世界规律的学科,自诞生以来就在科技领域发挥着举足轻重的作用。随着科技的飞速发展,量子力学的应用也在不断拓展和深化。今天,我将带领大家一起领略量子力学技术的魅力,探讨其发展趋势和挑战。 二、量…

一文解决msxml3.dll文件缺失问题,快速修复msxml3.dll

在了解问题之前&#xff0c;我们必须首先清楚msxml3.dll到底是什么。DLL&#xff08;Dynamic Link Libraries&#xff09;文件是Windows操作系统使用的一个重要组成部分&#xff0c;用于存储执行特定操作或任务的代码和数据。msxml3.dll为Windows系统提供处理XML文档的功能。如…

锂电涂布机设备健康管理:降低运维成本的关键

随着锂电池行业的快速发展&#xff0c;锂电涂布机设备作为关键生产工艺装备&#xff0c;扮演着至关重要的角色。然而&#xff0c;涂布机设备的故障和维护成本对于企业来说是一个不可忽视的挑战。本文将介绍做好锂电涂布机设备的健康管理&#xff0c;降低运维成本的关键措施。 锂…

《微信小程序开发从入门到实战》学习三十四

4.2 云开发JSON数据库 MySQL、Oracle之类的“关系型数据库”。JSON数据库是“非关系型数据库”&#xff0c;没有行表列的概念。 4.2.1 JSON数据库基本概念 集合:一个数据库有多个集合&#xff0c;一个集合存储通常是同一类数据&#xff0c;可看作为JSON数组&#xff0c;数组…

linaro交叉编译工具链下载与使用笔记

笔记 文章目录 笔记确定目标 &#xff08;aarch64&#xff09;选择版本&#xff08;7.5&#xff09;选择目标&#xff08;aarch64-linux-gnu&#xff09;下载地址工具链&#xff08;gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz&#xff09;编译测试 &#xff08…