天天看点

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合

说明:本文讲解为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配置注入一.Linux环境二.windows环境安Seata使用采坑集合

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

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

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合

2.seata安装

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

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
源码中配置目录讲解
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合

创建seata数据库,导入服务器端sql

(特殊提醒:建议把以下字段长度加长,以免开发中出现长度不够,浪费时间排查)

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
1.上传安装包和源码中以下文件到Linux服务器
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
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配置注入一.Linux环境二.windows环境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
4.查看nacos配置打入成功
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
5.修改seata的registry.config中的registry和config 的 type = "nacos"
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
6.进入seata 的 bin 目录 启动seata
chmod 777 seata-server.sh

nohup ./seata-server.sh &
           

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

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

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
6.进入nacos查看是否成功启动
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合

二.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配置注入一.Linux环境二.windows环境安Seata使用采坑集合

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 ]
           

以上问题原因:此字段长度不够,原来是30

nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合

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

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配置注入一.Linux环境二.windows环境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux环境搭建和seata-config配置注入一.Linux环境二.windows环境安Seata使用采坑集合
上一篇: NacosNacos
下一篇: nacos + seata

继续阅读