【微服务】Nacos数据持久化以及集群的搭建

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【微服务】Nacos数据持久化以及集群的搭建

数据持久化

  • 在单机模式时nacos使用嵌入式数据库实现数据存储,0.7版本后增加了mysql存储数据。

初始化数据库

  • 在conf目录下,提供了nacos-mysql.sqlSQL语句,进行数据库的初始化
  • 要求:5.6+ mysql
  • 注意:如果使用mysql 5.5,需要修改sql语句

image.png

  • 提供的SQL语句没有创建database,手动创建nacos_config  

image.png

开启mysql存储

  • conf目录下,提供了application.properties可以修改数据库配置信息

image.png

### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config_2_1?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1234

测试

  • 添加配置信息

image.png

  • 检查数据库存储  

image.png

Nacos集群搭建

概述

  • 3个或3个以上Nacos节点才能构成集群
  • 配置数据源
  • 使用内置数据源

startup.cmd -p embedded

  • 使用外置数据源(MySQL,参考4.4.2)
  • 在一台主机配置多个节点的端口号==不能连续==。
  • 例如:8841/8842/8843 不可用
  • 例如:8841/8843/8845 可用

配置步骤

image.png

节点1:配置Nacos8841

  1. 配置数据源
  2. 修改端口号:8841
  3. 配置集群配置文件
  4. 启动服务:startup.cmd
  • 节点2:复制Nacos8843
  • 修改端口号:8843
  • 启动服务:startup.cmd
  • 节点3:复制Nacos8845
  • 修改端口号:8845
  • 启动服务:startup.cmd  

配置详情

1)配置节点1

  1. 拷贝nacos,并重命名 nacos-2.1.0-8841
  2. 配置数据源

image.png

修改端口号:8841  

image.png

配置集群配置文件:conf/cluster.conf

image.png

启动服务:startup.cmd

image.png

成功启动  

3.png

2)配置节点2

  • 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8843
  • 修改端口号

image.png

启动服务

4.png

3)配置节点3

  • 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8845
  • 修改端口号

image.png

启动服务

5.png

4)配置成功

6.png

常见错误

1)db.num is null

  • 错误提示:db.num is null
  • 原因:没有配置数据库

image.png

2) unable to start embedded tomcat

  • 错误提示:unable to start embedded tomcat
  • 原因1:没有编写集群配置文件

image.png

3)内存不足

  • 提示信息:
  • 原因:内存不足,修改分配内存大小

image.png

4) Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb'

  • 提示信息:Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb
  • 原因:nacos与jdk 系统位数(64位和32位,)不一致

5) JNI相关错误

  • 提示信息: C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Can't find dependent libraries
  • 原因:JAVA_HOME配置的jdk安装目录,而不是jre安装目录
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
6天前
|
SpringCloudAlibaba 负载均衡 Java
【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
21 3
|
6天前
|
SpringCloudAlibaba 应用服务中间件 Nacos
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心(下)
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心
18 0
|
6天前
|
JSON SpringCloudAlibaba Java
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心(上)
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心
22 1
|
6天前
|
存储 负载均衡 Cloud Native
【微服务系列笔记】Nacos
Nacos 是阿里巴巴开源的项目,用于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持动态服务发现、服务配置、服务元数据和流量管理,旨在更敏捷和方便地构建、交付和管理微服务平台。可作为注册中心与配置中心。
46 5
|
6天前
|
Linux Nacos 数据库
【微服务】生产部署nacos集群(三个节点)
【微服务】生产部署nacos集群(三个节点)
29 1
|
6天前
|
算法 Nacos Docker
docker部署nacos集群
docker部署nacos集群
32 0
|
6天前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
104 1
|
6天前
|
存储 运维 监控
NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
【2月更文挑战第33天】NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
92 2
|
6天前
|
Nacos
nacos 配置页面的模糊查询
nacos 配置页面的模糊查询