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

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

  • 相关阅读:
    Scala学习笔记(七):Rational、隐式转换、偏函数、闭包、重复参数及柯里化
    Java IO编程全解(三)——伪异步IO编程
    Java IO编程全解(二)——传统的BIO编程
    Java IO编程全解(一)——Java的I/O演进之路
    MyBatis+PageHelper实现分页
    Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
    Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)
    Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)
    Spring+SpringMVC+MyBatis深入学习及搭建(十四)——SpringMVC和MyBatis整合
    Spring+SpringMVC+MyBatis深入学习及搭建(十三)——SpringMVC入门程序(二)
  • 原文地址:https://www.cnblogs.com/vchar/p/14620335.html
Copyright © 2011-2022 走看看