一,什么是seata?

Seata:Simpe Extensible Autonomous Transcaction Architecture,
是阿里中间件,开源的分布式事务解决方案。
前身是阿里的Fescar
 
官方站:
http://seata.io/zh-cn/
官方代码地址:
https://github.com/seata/seata
官方文档站:
http://seata.io/zh-cn/docs/overview/what-is-seata.html
各版本的release下载地址:
https://github.com/seata/seata/releases

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,安装seata前准备java环境:

因为seata是基于java开发的,所以需要先在机器上准备java环境
1,下载java
从官方站下载:
https://www.oracle.com/cn/java/technologies/javase-downloads.html

下载完成后查看当前目录:

[root@localhost java]# pwd
/usr/local/source/java
[root@localhost java]# ls
jdk-14.0.2_linux-x64_bin.tar.gz

2,解压和安装:

解压:

[root@localhost java]# tar -zxvf jdk-14.0.2_linux-x64_bin.tar.gz

把解压后的jdk目录,移动到安装目录/usr/local/soft目录下:

[root@localhost java]# mv jdk-14.0.2 /usr/local/soft/
3,配置java
编辑profile文件:
[root@localhost java]# vi /etc/profile

内容:

export JAVA_HOME=/usr/local/soft/jdk-14.0.2
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

使变量生效:

[root@localhost java]# source /etc/profile
4,测试java的安装效果
[root@localhost liuhongdi]# java --version
java 14.0.2 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

三,下载seata:

1,用wget命令下载
创建一个源文件存放目录:/usr/local/source/seata,
在这个目录下下载和解压
[root@localhost seata]# wget https://github.com/seata/seata/releases/download/v1.3.0/seata-server-1.3.0.tar.gz
2,解压后并移动到安装目录:
[root@localhost seata]# ls
seata-server-1.3.0.tar.gz
[root@localhost seata]# tar -zxvf seata-server-1.3.0.tar.gz
[root@localhost seata]# mv seata /usr/local/soft/
[root@localhost seata]# cd /usr/local/soft/seata/

四,配置seata

1,生成日志目录:
[root@localhost seata]# mkdir /data/seata
[root@localhost seata]# mkdir /data/seata/logs
[root@localhost seata]# chmod 777 /data/seata/logs

2,进入安装目录下

[root@localhost seata]# cd conf/
[root@localhost conf]# vi logback.xml
修改内容:
修改LOG_HOME为我们创建的目录
<property name="LOG_HOME" value="/data/seata/logs”/>
3,创建seata的gc日志目录
[root@localhost seata]# pwd
/usr/local/soft/seata
[root@localhost seata]# mkdir logs

说明:seata默认会使用这个目录保存java运行时的gclog

 

五,启动并检测是否运行中

1,启动

[root@localhost seata]# nohup sh ./bin/seata-server.sh -p 8091 > /data/seata/logs/seata_runtime.out 2>&1 &
[1] 2062
2,检查查端口是否在监听中:
[root@localhost bin]# telnet localhost 8091
Trying ::1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

六,用systemctl管理seata

1,创建seata启动文件:保存到安装目录/bin目录下
[root@localhost seata]# cd bin/
[root@localhost bin]# vi seata-start.sh
[root@localhost bin]# more seata-start.sh
#!/bin/bash
sh /usr/local/soft/seata/bin/seata-server.sh -p 8091
[root@localhost bin]# chmod +x seata-start.sh
2,创建service文件
[root@localhost bin]# vi /usr/lib/systemd/system/seata.service
内容:
[Unit]
Description=seata-server
After=syslog.target network.target [Service]
Type=simple
ExecStart=/usr/local/soft/seata/bin/seata-start.sh
Restart=always
PrivateTmp=true [Install]
WantedBy=multi-user.target
3,启动service
[root@localhost bin]# systemctl daemon-reload
[root@localhost bin]# systemctl start seata.service

4,查看是否运行中?

[root@localhost ~]# systemctl status seata.service
● seata.service - seata-server
Loaded: loaded (/usr/lib/systemd/system/seata.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2020-08-15 09:59:03 CST; 2s ago
Main PID: 1726 (seata-start.sh)
Tasks: 29 (limit: 4642)
Memory: 145.7M
CGroup: /system.slice/seata.service
├─1726 /bin/bash /usr/local/soft/seata/bin/seata-start.sh
└─1727 /usr/bin/java -server -Xmx2048m -Xms2048m -Xmn1024m -Xss512k -XX:SurvivorRatio=10
...

可以看到状态为 active (running)

5,用ss查看端口:

[root@localhost ~]# ss -lntp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 1024 *:8091 *:* users:(("java",pid=1727,fd=176))

七,查看seata-server可用的参数

用--help

[root@localhost ~]# /usr/local/soft/seata/bin/seata-server.sh --help

可以看到参数:

...
Usage: sh seata-server.sh(for linux and mac) or cmd seata-server.bat(for
windows) [options]
Options:
--host, -h
The ip to register to registry center.
--port, -p
The port to listen.
Default: 8091
--storeMode, -m
log store mode : file, db
--serverNode, -n
server node id, such as 1, 2, 3.it will be generated according to the
snowflake by default
--seataEnv, -e
The name used for multi-configuration isolation.
--help

八,查看linux的版本 :

[root@localhost java]$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

linux(centos8):安装分布式事务服务seata(file单机模式,seata 1.3.0/centos 8.2)的更多相关文章

  1. Linux环境下安装配置vsftpd服务(三种认证模式)

    一.FTP简介 文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议.它工作于网络传输协议的应用层,使用客户/服务器模式,主要是用来 ...

  2. Linux下安装配置SNMP服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  3. linux(centos8):安装java jdk 14 (java 14.0.2)

    一,下载jdk14 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...

  4. linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)

    一,alertmanager的用途 1,Alertmanager的作用: Alertmanager是一个独立的报警模块, 它接收Prometheus等客户端发来的警报,并通过分组.删除重复等处理, 通 ...

  5. 分布式事务 SEATA-1.4.1 AT模式 配合NACOS 应用

    SEATA 配置 目录 SEATA 配置 TC (Transaction Coordinator) - 事务协调者 配置参数 nacos bash 脚本 同步 config 配置到 nacos 使用 ...

  6. 分布式事务之:TCC (Try-Confirm-Cancel) 模式

    在当前如火如荼的互联网浪潮下,如何应对海量数据.高并发成为大家面临的普遍难题.广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库.跨应 ...

  7. linux(centos8):安装prometheus服务端/node_exporter客户端(prometheus 2.18.1)

    一,prometheus的用途 Prometheus是一个开源的系统监控和警报工具包 相比其他监控系统,它更适用于微服务的体系架构 它使用各种专用exporter,用来实现对硬件/存储/数据库/web ...

  8. Linux包安装及搭建服务

    IP地址:以·分隔成4部分,每部分在底层是以8位二进制存储 例:172.16.45.10/16(后面是子网掩码,表示网络地址是前面16位二进制) 网路地址:172.16.00 主机地址:172.16. ...

  9. linux(centos8):安装配置consul集群(consul 1.8.4 | centos 8.2.2004)

    一,什么是consul? 1,Consul 是 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置. Consul 是分布式的.高可用的. 可横向扩展的   2,官方网站: h ...

随机推荐

  1. path.resolve和path.join的区别

    // test.js const path = require('path') let x1 = path.resolve('/目录1/目录2', '/目录3/目录4/') let x2 = path ...

  2. XXE外部实体注入漏洞

    XML被设计为传输和存储数据,XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具.XXE漏洞全称XML E ...

  3. 第23课 - #error 和 #line 使用分析

    第23课 - #error 和 #line 使用分析 1. #error 的用法 (1)#error 是一个预处理器指示字,用于生成一个编译错误消息,这个消息最终会传递到编译器(gcc) 在思考这一点 ...

  4. MySQL的事务机制和锁(InnoDB引擎、MVCC多版本并发控制技术)

    一.事务(数据库的事务都通用的定义) 1.1 事务定义 事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行.事务通常以 BEGIN TRANSACTION 开始 ...

  5. Spring源码解析 | 第二篇:Spring IOC容器之XmlBeanFactory启动流程分析和源码解析

    一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...

  6. java基础之序列化

    转载自https://www.cnblogs.com/szlbm/p/5504166.html Java对象表示方式1:序列化.反序列化和transient关键字的作用   平时我们在Java内存中的 ...

  7. jenkins在windows系统及linux环境安装

    一.下载 jenkins是当前持续集成(Continuous integration,简称 CI)的主流工具,在项目中得到了广泛的推广和应用. 下载地址: https://jenkins.io/dow ...

  8. 我要吹爆这份阿里中间件技术内部的RM笔记,简直佩服到五体投地

    消息队列 RocketMQ 版是阿里云基于 Apache RocketMQ 构建的低延迟.高并发.高可用.高可靠的分布式消息中间件.该产品最初由阿里巴巴自研并捐赠给 Apache 基金会,服务于阿里集 ...

  9. RabbitMQ小记(三)

    1.RabbitMQ中mandatory和immediate以及备份交换机 (1)mandatory为true时,若交换机无法根据自身类型和路由键找到符合条件的对列,那么RabbitMQ会回调Basi ...

  10. spring-boot-route(一)Controller接收参数的几种方式

    Controller接收参数的常用方式总体可以分为三类.第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递. 1 @PathVariab ...