SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式

Nacos 描叙

nacos 主要作用是微服务的注册中心,及配置中心
nacos 支持AP,CP 模式(默认AP,允许数据短暂不一致),详细可查看CAP定律

一、单机版环境搭建

下载Linux版 nacos-server-1.1.4.tar.gz,上传到 linux 服务器
https://github.com/alibaba/nacos/releases
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第1张图片
linux默认集群版(cluster),win默认单机版(standalone)

tar  -zxvf nacos-server-1.1.4.tar.gz     解压
cd  /nacos/bin/                          进入bin目录
./startup.sh -m standalone               启动为单机版(standalone)

启动后可以查看 logs/start.out 查看启动日志
访问地址 ip:8848/nacos/index.html,如:http://192.168.177.128:8848/nacos/index.html
默认账号密码:nacos / nacos

二、配置数据库

默认的情况下,分布式配置中心的数据存放到本地data目录下,但是这种情况如果nacos集群的话无法保证数据的同步性。

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

1、创建数据库,执行sql脚本

SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第2张图片
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第3张图片

2、修改 conf/application.properties 添加数据库连接信息

直接最后面添加即可重启服务即可(不支持mysql 8.x, mysql 8.x看步骤三)

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

三 、mysql 8.x 支持环境搭建(需修改源码)

源码驱动包默认为5.x,我们需要修改成8.x
nocos 官网及Git 地址:https://nacos.io/zh-cn/
源码调试参考:https://www.jianshu.com/p/9f4eb503bbc9
修改为mysql8参考:https://blog.csdn.net/weixin_41422358/article/details/103765909

1、添加数据库版本

进入下载好的nacos目录,进入pom.xml 父文件,在665行修改为8.0.18驱动



    mysql
    mysql-connector-java
    
    8.0.18

2、修改 MysqlHealthCheckProcessor.java

/usr/local/nacos/naming/src/main/java/com/alibaba/nacos/naming/healthcheck/MysqlHealthCheckProcessor.java

// import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;原数据在24行
//将其替换
import com.mysql.cj.jdbc.MysqlDataSource;

3、添加数据库配置信息

按步骤二、添加数据库脚本到
nacos-console 下的 application.properties 添加数据库配置消息

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=123456

4、启动nacos-console 项目

启动后10秒类只要不报错,就是配置成功了
如配置失败会抛出数据库连接异常信息
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第4张图片

5、maven打包 nacos-server. tar.gz

#进入nacos目录
cd /usr/local/nacos/
#编译命令
mvn -Prelease-nacos clean install -U  
#编译完成,复制target目录nacos-server-1.2.0-SNAPSHOT 到local目录
#进入target
cd /usr/local/nacos/distribution/target/

打包失败
进入pom.xml 父文件,438行,注掉 test 模块

  test

复制 /distribution/target/ 下的 nacos-server-1.2.0-SNAPSHOT.tar.gz 到 linux 型服务器

然后重复步骤一、二即可启动即可

四、集群环境搭建

先看一、二步骤搭建单机版本,如果是mysql8.x 看一、二、三步骤搭建

1、拷贝单机版本命名 nacos2

SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第5张图片

2、conf 目录添加配置文件 cluster.conf

nacos/ nacos2 都需要添加
集群ip + 端口,不能为127.0.0.1

## 服务器ip + 端口
192.168.177.128:8848
192.168.177.128:8849

3、修改配置 /conf/application.properties

修改服务端口,nacos/ nacos2 端口不能相同

SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第6张图片

4、修改启动脚本 /bin/startup.sh

修改 address 端口,nacos/ nacos2 端口不能相同socket 端口不能相同

SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第7张图片

5、启动

集群方式启动

./startup.sh -m cluster

6、集群效果测试

集群成功可参考集群节点
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第8张图片
在http://192.168.177.128:8848 客户端上添加 age=24SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第9张图片
在http://192.168.177.128:8849 客户端上查询,获取age=24 参数,配置成功
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第10张图片

7、配置中心数据库保存值展示

SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第11张图片

8、错误处理:VM warning: INFO: OS::commit_memory(0x00000006c0000000, 2147483648, 0) faild

解决方案:修改/bin 下的服务启动脚本 .sh 脚本,​改一下内存大小就行了:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn500m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
SpringCloudAlibaba一、Linux 环境 nacos 单机版环境搭建 / 集群环境搭建 / mysql8.0连接方式_第12张图片

9、错误处理:ERROR: transport error 202: bind failed: 地址已在使用

检查 application.properties 文件的配置的服务端口是否相同 --> server.port=
检查启动脚本 /bin/startup.sh,socket 端口是否相同 --> address=

你可能感兴趣的:(#,Spring,Cloud,Alibaba)