nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入

说明:本文讲解为nacos1.2.1+seata1.2.0/1.1.0版本

一.Linux环境

1.nacos安装

下载地址:https://github.com/alibaba/nacos/releases

1.下载上传至linux服务器,tar -zxvf 解压

2.进入nacos-server-1.2.1\nacos\conf 修改application.properties

注意这个一定要改成false,否则会有大量的日志
server.tomcat.accesslog.enabled=false

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?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=
db.password=

#注意这个一定要改成false,否则会有大量的日志
server.tomcat.accesslog.enabled=false

3.去mysql数据库创建nacos  运行 nacos-mysql.sql脚本 ,之后再运行一下语句

INSERT INTO `users` VALUES ('nacos', '$2a$10$ZLP2nt6d4bVYAcBExmR5d.uyDBlu.M0rSqJu5HvWPi/Tjx/zTkFEm', '1');

INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN');

DROP TABLE IF EXISTS `permissions`;
CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

4.进入bin目录 运行   启动

sh startup.sh -m standalone

这里必须要加  -m standalone 否则会出现一下情况

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第1张图片

可以看一下日志,日志中提示集群配置文件的问题,这里默认启动是集群环境,所以要以单机模式启动
 

5.通过 ip地址:8848 访问成功  账号密码都是nacos

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第2张图片

2.seata安装

下载地址:http://seata.io/zh-cn/blog/download.html   源码和启动包都下载

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第3张图片

源码中配置目录讲解

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第4张图片

1.上传安装包和源码中以下文件到Linux服务器

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第5张图片

2.修改config.txt 中的 配置 

store.mode=db

store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true
store.db.user=
store.db.password=

3.进入nacos  运行 脚本 

sh /usr/local/seata/nacos/nacos-config.sh -h localhost -p 8848 

如果出现以下错误。说明找不到配置文件路径错误,修改执行脚本中的路径即可

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第6张图片

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第7张图片

4.查看nacos配置打入成功

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第8张图片

5.修改seata的registry.config中的registry和config 的 type = "nacos"

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第9张图片

6.进入seata 的 bin 目录 启动seata

nohup ./seata-server.sh &

注意这里必须nohup打头,这样关闭linux连接工具服务不会掉,比如对比zookeeper的启动脚本

(博主作为非专业运维人员,这个坑也让我头疼了两天)

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第10张图片

6.进入nacos查看是否成功启动

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第11张图片

 

二.windows环境安

nacos 下载地址:https://github.com/alibaba/nacos/releases

seata下载地址:http://seata.io/zh-cn/blog/download.html 

1.创建nacos数据库,由于seata的源码中没有windos环境的配置导入脚本,只有 .py 和 .sh 可以使用 上面的linux环境预先向数据库导入好配置  也可以装一下git双击运行sh脚本

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第12张图片

2.创建seata数据库,导入上面介绍的sql 

3.修改好上面Linux环境所需要修改的nacos和seata的配置

4.进入bin 双击 startup.cmd 启动nacos

5.进入bin 双击 seata-server.bat 启动seata

Seata使用采坑集合

1.问题1:表未加主键问题

io.seata.common.exception.ShouldNeverHappenException: [xid:10.8.0.26:8091:2042993961]get tablemeta failed

以上问题原因是参与事物的表未加主键,解决方法加上主键即可

 

2.问题2:table_name长度不够问题

 io.seata.core.exception.RmTransactionException:
 Response[ TransactionException[branch register request failed. 
xid=172.19.131.240:8091:2042995578, msg=Data truncation: Data too long for ]

以上问题原因:此字段长度不够,原来是30nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第13张图片

解决方法改为适合的长度即可

 

3.问题3:no available service 'default' found, please make sure registry config correct

这里seata1.2有一个隐藏的坑,会发现源码中一个是 vgroupMapping 一个是vgroup-mapping 这里我们统一改成vgroupMapping

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第14张图片nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入_第15张图片

你可能感兴趣的:(nacos,seata)