1.简介
本篇文章将记录开发环境Seata-Server的搭建步骤,在后期部署环境变更可以快速回忆起搭建方法,同事通过阅读搭建步骤后,有优化的建议可以要求我改正。
2.搭建步骤
- seata数据库及表的创建- nacos配置文件的同步- seata-server的配置和启动
2.1seata数据库及表的创建
创建seata数据库 (10.11.0.215数据库)
CREATE DATABASE seata;
创建相关表
``sql -- the table to store GlobalSession data CREATE TABLE IF NOT EXISTSglobal_table(xidVARCHAR(128) NOT NULL,transaction_idBIGINT,statusTINYINT NOT NULL,application_idVARCHAR(32),transaction_service_groupVARCHAR(32),transaction_nameVARCHAR(128),timeoutINT,begin_timeBIGINT,application_dataVARCHAR(2000),gmt_createDATETIME,gmt_modifiedDATETIME, PRIMARY KEY (xid), KEYidx_gmt_modified_status(gmt_modified,status), KEYidx_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(96),
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;
<a name="CSiMK"></a>## 2.2nacos配置文件的同步1. config.txt修改部分位置
… service.vgroupMapping.yurun_dev_tx_group=default … store.mode=db … store.db.url=jdbc:mysql://10.11.0.215:3306/seata?useUnicode=true&rewriteBatchedStatements=true store.db.user=root store.db.password=123456 …
2. 运行脚本-同步到Nacos```shellsh nacos-config.sh -h 10.11.0.220 -p 8855 -g SEATA_GROUP -t b8e5a017-9dab-4fea-a323-c1a7b41774fc -u dev -w dev
注:这里会出现2个同步失败的参数,不影响我们的使用,不用关心
2.3seata-server的配置和启动
- 下载,解压
配置seata-server的注册和配置中心(conf/registry.conf) ``` registry {
file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = “nacos” loadBalance = “RandomLoadBalance” loadBalanceVirtualNodes = 10
nacos { application = “seata-server” serverAddr = “10.11.0.220:8855” group = “SEATA_GROUP” namespace = “1533a078-f017-4f3a-b834-63e475ea7a40” cluster = “default” username = “dev” password = “dev” } ………. }
config {
file、nacos 、apollo、zk、consul、etcd3
type = “nacos”
nacos { serverAddr = “10.11.0.220:8855” namespace = “b8e5a017-9dab-4fea-a323-c1a7b41774fc” group = “SEATA_GROUP” username = “appconnect” password = “appconnect” } ……… }
3.在seata的解压目录下创建一个logs目录(可选,放置gc日志用)<br /><br />4.编写一个使用nohup启动的脚本并启动```shell#!/bin/bashnohup /home/software/seata-server-1.4.1/bin/seata-server.sh >log.out 2>&1 &
