zoukankan      html  css  js  c++  java
  • Seata安装和配置

    我们这里是在Centos7上进行的操作;首先在Seata的github 上下载安装包,直接选择最新的releases版本即可,如:seata-server-1.4.1.tar.gz ;windows系统的话直接下载zip包安解压即可。

    配置jdk(如果没有的话)

    注意需要安装和配置Java环境(使用yum快速安装和配置jdk yum install java-1.8.0-openjdk.x86_64

    # 查看已有jdk版本
    yum list java*
    
    # 这里直接安装jdk8
    yum install java-1.8.0-openjdk.x86_64 -y
    yum install java-1.8.0-openjdk-devel.x86_64 -y
    

    单机版部署

    Seata单机版部署非常简单,直接解压启动即可

    tar -zxvf seata-server-1.4.1.tar.gz
    cd seata
    sh ./bin/seata-server.sh
    

    启动成功后控制台会显示相关信息。默认端口是8901,使用文件来记录日志。

    如果开启了防火墙,要么通过如下命令停止防火墙

    systemctl disable firewalld
    systemctl stop firewalld
    

    或者设置防火墙开放端口

    firewall-cmd --zone=public --add-port=8901/tcp --permanent
    firewall-cmd --reload
    

    查看防火墙开放端口:firewall-cmd --list-port

    Seata的启动命令参数说明

    完整的启动命令如下:

    sh ./bin/seata-server.sh -p 8091 -h 127.0.0.1 -m file -n 1 -e dev
    
    • -h : 指定在注册中心注册的IP;不指定时获取当前的 IP,外部访问部署在云环境和容器中的server建议指定;
    • -p : 指定 server 启动的端口; 默认为 8091;
    • -m : 事务日志存储方式;支持file,db,redis,默认为file;注意redis需seata-server 1.3版本及以上;
    • -n : 用于指定seata-server节点ID;如 1,2,3..., 默认为 1;
    • -e : 指定 seata-server 运行环境;如:dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置;

    因此单机版部署使用的完成命令如下:

    sh ./bin/seata-server.sh -p 8091 -h 192.168.56.101  -m file
    

    高可用集群版本部署

    Seata的高可用依赖于注册中心、配置中心和数据库来实现;因此我们需要修改相关的配置。下面我们以nacos和MySQL为例子,Seata-Server使用注册中心进行集群间的通信,同时将事务数据保存到数据库中让整个集群统一使用事务信息。
    下面的示例未使用配置中心,如果需要使用的话相关配置见 https://github.com/seata/seata/tree/develop/script/config-center

    修改配置文件 registry.conf

    将里面的registry节点下的type值改为nacos;然后修改nacos节点中的地址;下面是修改后的示例

    registry {
      type = "nacos"
      loadBalance = "RandomLoadBalance"
      loadBalanceVirtualNodes = 10
    
      nacos {
        application = "seata-server"
        serverAddr = "192.168.56.1:8848"
        group = "SEATA_GROUP"
        namespace = ""
        cluster = "default"
        username = ""
        password = ""
      }
    }
    config {
      type = "file"
      file {
        name = "file.conf"
      }
    }
    

    修改配置文件 file.conf

    将里面的mode改为db;然后修改db配置中的MySQL相关配置信息;下面是示例

    store {
      mode = "db"
      ## database store property
      db {
        datasource = "druid"
        dbType = "mysql"
        driverClassName = "com.mysql.jdbc.Driver"
        url = "jdbc:mysql://192.168.56.1:3306/seata?useSSL=false&serverTimezone=UTC"
        user = "root"
        password = "123456"
        minConn = 5
        maxConn = 100
        globalTable = "global_table"
        branchTable = "branch_table"
        lockTable = "lock_table"
        queryLimit = 100
        maxWait = 5000
      }
    }
    

    创建相关表和数据库

    需要新建一个名为seata数据库(名称可以是其他的,只要上面的配置能够对应上即可),然后创建global_table、branch_table、lock_table三张表;建表语句;

    启动seata服务

    由于MySQL-5.x 和MySQL-8.x的有不少的区别,因此seata官方提供2个MySQL的驱动;根据使用数据库版本来选择相关的jar包,这里使用的MySQL-8.0的,因此我们将lib包下jdbc中驱动包拷贝一个出来;相关命令如下:

    # 拷贝mysql-8的驱动包
    cp ./lib/jdbc/mysql-connector-java-8.0.19.jar ./bin/
    # 启动seata服务
    sh ./bin/seata-server.sh -p 8091 -h 192.168.56.101
    

    启动成功后控制台会打印一行如下包含{dataSource-1} inited 的日志信息,则说明已经成功使用数据库存储事务日志了。

    ... com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
    

    现在到nacos的控制台中的服务管理里面就可以看到seata注册的服务信息了。

    基于docker安装的方式:https://blog.vchar.top/dcs/1616846400.html

    关注微信订阅号‘起岸星辰’获取最新资讯

  • 相关阅读:
    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
    001 Android Studio 首次编译执行项目过程中遇到的几个常见问题
    Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器
    Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
    监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
    轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
    轻量级ORM框架——第一篇:Dapper快速学习
    CF888G Xor-MST(异或生成树模板)
  • 原文地址:https://www.cnblogs.com/vchar/p/14620335.html
Copyright © 2011-2022 走看看