- 1.下载Nacos
- 2.下载seata
- 3.解压seata
- 4.mysql数据库新建库seata库
- 5.seata库建表
- 6.修改file.conf配置
- 7.修改registry.conf配置
- 8.修改config.txt文件
- 9.启动seata-server
Nacos下载地址:https://github.com/alibaba/nacos/releases
启动Nacos,创建一个seata的命名空间
2.下载seata下载seata-server-1.4.2版本
Seata下载地址:https://github.com/seata/seata/releases/download/v1.4.2/seata-server-1.4.2.zip
这里需要下载seata-server-1.4.2.zip、Source code两个包,如果源码包下载不下来也没关系,可以从源码里直接拷贝代码,我就死活下载失败。
3.解压seata解压seata-server-1.4.2.zip到指定目录
4.mysql数据库新建库seata库这个略,本人用的mysql8.0.23版本数据库
5.seata库建表建表语句:https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql
这里一定要先在mysql里建表!!!!我把建表语句贴了出来。
CREATE TABLE IF NOT EXISTS `global_table` ( `xid` VARCHAr(128) NOT NULL, `transaction_id` BIGINT, `status` TINYINT NOT NULL, `application_id` VARCHAr(32), `transaction_service_group` VARCHAr(32), `transaction_name` VARCHAr(128), `timeout` INT, `begin_time` BIGINT, `application_data` VARCHAr(2000), `gmt_create` DATETIME, `gmt_modified` DATETIME, PRIMARY KEY (`xid`), KEY `idx_gmt_modified_status` (`gmt_modified`, `status`), KEY `idx_transaction_id` (`transaction_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; -- the table to store BranchSession data CREATE TABLE IF NOT EXISTS `branch_table` ( `branch_id` BIGINT NOT NULL, `xid` VARCHAr(128) NOT NULL, `transaction_id` BIGINT, `resource_group_id` VARCHAr(32), `resource_id` VARCHAr(256), `branch_type` VARCHAr(8), `status` TINYINT, `client_id` VARCHAr(64), `application_data` VARCHAr(2000), `gmt_create` DATETIME(6), `gmt_modified` DATETIME(6), PRIMARY KEY (`branch_id`), KEY `idx_xid` (`xid`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; -- the table to store lock data CREATE TABLE IF NOT EXISTS `lock_table` ( `row_key` VARCHAr(128) NOT NULL, `xid` VARCHAr(128), `transaction_id` BIGINT, `branch_id` BIGINT NOT NULL, `resource_id` VARCHAr(256), `table_name` VARCHAr(32), `pk` VARCHAr(36), `gmt_create` DATETIME, `gmt_modified` DATETIME, PRIMARY KEY (`row_key`), KEY `idx_branch_id` (`branch_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE IF NOT EXISTS `distributed_lock` ( `lock_key` CHAr(20) NOT NULL, `lock_value` VARCHAr(20) NOT NULL, `expire` BIGINT, primary key (`lock_key`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0); INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0); INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0); INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);6.修改file.conf配置
修改seata-server-1.4.2conf目录下的file.conf配置文件,此处要注意一下,mysql5和mysql8的驱动是不一样的。
7.修改registry.conf配置修改seata-server-1.4.2conf目录下的registry.conf配置文件,此处的namespace就是在Nacos中创建的seata命名空间。
8.修改config.txt文件修改config.txt,并导入nacos-server配置
这个config.txt配置文件在哪里呢?如果在第一步中,seata的源码能下载下来,这文件就是这个源码里。如果下载不下来,就直接去github上去拷贝,把整个script文件夹拷贝下来。config.txt在configt-center文件夹下面。
https://github.com/seata/seata/blob/develop/script/config-center/config.txt
做如下修改:
下面要把config.txt中的文件导入都Nacos的配置中心里,需要进入到config-center目录下的nacos文件夹,里面有两个文件,一个是.sh文件,一个是.py文件,当然也就提供了两种方式导入Nacos配置中心。下面使用.sh文件,在nacos文件下打开git bash终端命令行,执行如下命令:
sh nacos-config.sh -h 127.0.0.1 -p 8848 -g SEATA_GROUP -t 88b8f583-43f9-4272-bd46-78a9f89c56e8 -u nacos -w nacos
-h:nacos地址
-p:端口,默认8848
-g:seata的服务列表分组名称
-t:nacos命名空间id
-u和-w:nacos的用户名和密码
执行有4个失败,看看失败项,其实也没啥。
在Nacos配置中心,查看导入的配置项。
9.启动seata-server建议用CMD命令行窗口执行,这样可以看到启动错误,如果启动报错,可能有两个原因,第一,内存需要调整,第二,数据库脚本没有执行。
JVM启动参数调整如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)