首页 > 其他分享 >Seata部署

Seata部署

时间:2023-11-26 12:44:18浏览次数:37  
标签:retry Seata 部署 server file store seata

系统环境

阿里云ubuntu
Java: openjdk version "1.8.0_382"
Seata:seata-server-1.8.0

下载Seata-server

github下载地址:https://github.com/seata/seata/releases
官网下载地址:https://seata.io/zh-cn/blog/download.html

部署

安装

将下载好的Seata-server存放到指定的工作目录,本文工作目录为/opt,执行命令如下:

mv seata-server-1.8.0.tar.gz /opt

进入工作目录,并解压安装Seata-server,命令如下:

#进入安装目录
cd /opt
#解压安装包
tar -zxvf seata-server-1.8.0.tar.gz

配置

进入Seata的配置目录

cd /opt/seata/conf

配置文件结构
Seata-server是一个基于spring-boot开发的项目,启动配置文件为application.yml,核心配置部分包含seata.config、seata.registry、seata.store三个部分(1.5.x版本之后使用了spring-boot,建议在application.yml中集中配置)。

  • seata.config:指定配置中心,提供全局配置,包含seata-server和全局store的相关配置;默认为file,指定读取同配置目录下的file.conf文件。
  • seata.registry:指定seata-server服务端的注册中心,1.5.0版本之后seata-server调整为spring-boot,不再读取registry.conf文件
  • seata.store:指定事务数据的存储模式。该模块的配置内容与seata.config中store的配置部分重叠;seata.config用于指定全局的事务日志存储配置,seata.store指定当前seata端使用的事务日志存储配置,seata.store配置的优先级高于seata.config。

【application.yml】文件

server:
  port: 7091
spring:
  application:
    name: seata-server
logging:
  config: classpath:logback-spring.xml
  file:
    path: ${log.home:${user.home}/logs/seata}
  extend:
    logstash-appender:
      destination: 127.0.0.1:4560
    kafka-appender:
      bootstrap-servers: 127.0.0.1:9092
      topic: logback_to_logstash
console:
  user:
    username: seata
    password: seata
seata:
  config:
    # support: nacos, consul, apollo, zk, etcd3
    type: file
  registry:
    # support: nacos 、 eureka 、 redis 、 zk  、 consul 、 etcd3 、 sofa
    type: eureka
    eureka:
      service-url: http://112.124.36.250:8080/eureka
      application: ${spring.application.name}
      weight: 1
  #store:
    # support: file 、 db 、 redis
  #  mode: file
#  server:
#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'
  security:
    secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
    tokenValidityInMilliseconds: 1800000
    ignore:
      urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login

补充说明:console部分在1.5.x版本后添加,security部分在1.6.x版本之后添加,使用新版本的seata时需要添加这两个部分的配置,否则启动seata会出现读取不到配置的异常。

【file.conf】文件

server {
    service-port = 8091 #If not configured, the default is '${server.port} + 1000'
    max-commit-retry-timeout = -1
    max-rollback-retry-timeout = -1
    rollback-retry-timeout-unlock-enable = false
    enable-check-auth = true
    enable-parallel-request-handle = true
    retry-dead-threshold = 130000
    xaer-nota-retry-timeout = 60000
    enableParallelRequestHandle = true
    recovery {
      committing-retry-period = 1000
      async-committing-retry-period = 1000
      rollbacking-retry-period = 1000
      timeout-retry-period = 1000
    }
    undo {
      log-save-days = 7
      log-delete-period = 86400000
    }
    session {
      branch-async-queue-size = 5000 #branch async remove queue size
      enable-branch-async-remove = false #enable to asynchronous remove branchSession
    }
}
store {
    # support: file 、 db 、 redis
    mode = db
    session {
        mode = db
    }
    lock {
        mode = db
    }
    db {
        datasource = druid
        db-type = mysql
        driver-class-name = com.mysql.jdbc.Driver
        url = "jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatements=true"
        user = admin
        password = "!QAZ2wsx"
        min-conn = 10
        max-conn = 100
        global-table = global_table
        branch-table = branch_table
        lock-table = lock_table
        distributed-lock-table = distributed_lock
        query-limit = 1000
        max-wait = 5000
    }
}
metrics {
    enabled = false
    registry-type = compact
    exporter-list = prometheus
    exporter-prometheus-port = 9898
}
transport {
    rpc-tc-request-timeout = 15000
    enable-tc-server-batch-send-response = false
    shutdown {
      wait = 3
    }
    thread-factory {
      boss-thread-prefix = NettyBoss
      worker-thread-prefix = NettyServerNIOWorker
      boss-thread-size = 1
    }
}

启动

进入Seata的启动目录

cd /opt/seata/bin

执行启动脚本

sh seata-server.sh

补充说明:我在ubuntu环境下使用sh命令执行脚本会出现语法错误,但是可以使用bash命令执行,解决方案是将sh命令链接到bash

参考文献

seata-server的相关配置可以参考官网,不同版本之前配置上存在差异,参考时需要对应到指定版本的配置。

标签:retry,Seata,部署,server,file,store,seata
From: https://www.cnblogs.com/zly1015/p/17847976.html

相关文章

  • Docker部署思源笔记
    一、简介思源笔记是一款隐私优先的个人知识管理系统,支持细粒度块级引用和Markdown所见即所得。二、安装思源笔记绿联DX4600为例。首先我们打开Docker管理器,进入镜像管理。然后在镜像仓库中搜索b3log/siyuan​​,选择latest​​版本并下载。​​下载完成后,我们在本地镜......
  • docker部署phpIPAM
    0说明IPAM:IP地址管理系统IP地址管理(IPAM)是指的一种方法IP扫描,IP地址跟踪和管理与网络相关的信息的互联网协议地址空间和IPAM系统。IPAM软件和IP的工具,管理员可以确保分配IP地址仍然是当前和足够的库存先进的IP工具和IPAM服务。IPAM简化并自动化管理的许多任务参与IP空间管......
  • 【Windows】DHCP部署与安全
    目录DHCP原理DHCP续约部署DHCP服务器删除DHCP服务wireshark抓取DHCP获取地址的四个步骤DHCP攻击与防御DHCP地址池耗尽攻击作用DynamicHostConfigureProtocol)自动分配IP地址相关概念地址池/作用域:(IP、子网掩码、网关、DNS、租期),DHCP协议端口是UDP67/68DHCP原理也成为DHCP......
  • 【Lustre相关】应用部署-01-源码编译IB驱动及lustre软件包
    一、编译安装系统版本:CentOSLinuxrelease7.9.2009(Core)内核版本:3.10.0-1160.el7.x86_64网卡型号:MellanoxTechnologiesMT2892Family[ConnectX-6Dx]软件版本:lfs2.12.9ib注:使用CentOS-7-x86_64-Everything-2009ISO,选择Minimalinstall安装,勾选Debugging......
  • Linux下利用Docker快速部署Kafka
    1.摘要Kafka是由Apache软件基金会开发一个开源流处理平台,使用Scala和Java编写,该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个按照分布式事务日志架构的大规模发布/订阅消息队列。这种工作方式使它为企业级基础设施来处理流失数据非常......
  • 爱芯元智AX650N部署yolov8s 自定义模型
    爱芯元智AX650N部署yolov8s自定义模型本博客将向你展示零基础一步步的部署好自己的yolov8s模型(博主展示的是自己训练的手写数字识别模型),本博客教你从训练模型到转化成利于Pulsar2工具量化部署到开发板上训练自己的YOLOv8s模型准备自定义数据集数据集结构可以不像下面一样,......
  • docker和虚拟化、docker安装和配置、镜像操作、容器操作、应用部署
    docker和虚拟化##什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破【实体结构间的不可切割的障碍】,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟......
  • 基于微信小程序的酒店管理系统设计与实现(源码+lw+部署文档+讲解等)
    (文章目录)详细视频演示请联系我获取更详细的演示视频具体实现截图[外链图片转存中...(img-Lkna8qpn-1700727246356)]技术栈后端框架SpringBootSpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一......
  • 通过计算巢轻松部署Salt服务
    SaltStack服务实例部署概述Salt基于Python构建,是一个事件驱动的自动化工具和框架,用于部署、配置和管理复杂的IT系统。使用Salt来自动化公共基础设施管理任务,并确保基础设施的所有组件都以一致的期望状态运行。Salt在配置管理上就有很多的用途,包括:管理操作系统的部署和配置;......
  • seatunnle安装部署
    seatunnle安装部署环境准备安装jdk8或jdk11在线安装下载seatunnleexportversion="2.3.3"wget"https://archive.apache.org/dist/seatunnel/${version}/apache-seatunnel-${version}-bin.tar.gz"tar-xzvf"apache-seatunnel-${version}-bin.tar.gz"......