美文网首页
Linux安装和部署Nacos配置中心及Seata分布式事务

Linux安装和部署Nacos配置中心及Seata分布式事务

作者: 猫的树 | 来源:发表于2022-05-24 11:03 被阅读0次

    Nacos及Seata简介

    Nacos 支持几乎所有主流类型的服务的发现、配置和管理。使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务管理、共享、组合更加容易。

    Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

    一、Nacos安装步骤

    1.下载安装包

    下载地址 https://github.com/alibaba/nacos/releases

    百度网盘 提取码 yt99

    2.解压

    将安装包上传至服务器,我上传的目录是/soft,执行命令tar -zxvf nacos-server-2.0.2.tar.gz
    [图片上传失败...(image-11293e-1653361429004)]

    3.修改相关文件

    修改 startup.sh脚本

    进入解压后的nacos文件目录下,cd /soft/nacos/bin进入到bin目录下,执行vim startup.sh命令

    将默认的jdk路径修改为自己服务器安装的jdk的路径
    [图片上传失败...(image-9dd306-1653361429004)]

    修改 application.properties

    cd /soft/nacos/conf进入到bin目录下,执行vim application.properties命令
    [图片上传失败...(image-37051d-1653361429004)]

    4.创建数据库

    创建数据库,数据库脚本在源码包有,在 nacos/conf/nacos-mysql.sql,把这个导入到数据中

    5.启动

    进入 /soft/nacos/bin 执行./startup.sh -m standalone,然后打开浏览器输入http://ip:端口/nacos,输入用户名密码:nacos
    [图片上传失败...(image-36b385-1653361429004)]

    二、Seata安装步骤

    1.下载安装包

    下载地址 https://github.com/seata/seata/releases

    百度网盘 提取码 w7tj

    2.解压

    将安装包上传至服务器/soft目录,执行命令tar -zxvf nacos-server-1.3.0.tar.gz
    [图片上传失败...(image-672466-1653361429004)]

    3.修改相关文件

    修改 registry.conf配置文件

    进入解压后的nacos文件目录下,cd /seata/conf进入到conf目录下,执行vim registry.conf命令

    默认为file模式,这里我们改为nacos模式,从注册中心动态获取相关配置
    [图片上传失败...(image-f4743b-1653361429004)]
    [图片上传失败...(image-4ccf19-1653361429004)]
    说明

    application 是注册到nacos的seata服务名称,默认即可
    serverAddr 是 nacos 服务地址
    group 是 seata 在 nacos上注册服务的分组
    namespace 是 nacos 命名空间ID(如果使用默认的 public 命名空间,可以注掉这行)
    username和password是nacos验证,没有开启就可以注掉

    修改file.conf

    cd /seata/conf进入到conf目录下,执行vim file.conf命令,将 mode 选项值改为 db,配置为你自己的 seata 数据库,这里用的 mysql数据库。
    [图片上传失败...(image-d0b90e-1653361429004)]

    新建file.conf

    4.初始化数据库

    创建数据库,运行sql文件

    drop table if exists `global_table`;
    create table `global_table` (
      `xid` varchar(128)  not null,
      `transaction_id` bigint,
      `status` tinyint not null,
      `application_id` varchar(32),
      `transaction_service_group` varchar(32),
      `transaction_name` varchar(128),
      `timeout` int,
      `begin_time` bigint,
      `application_data` varchar(2000),
      `gmt_create` datetime,
      `gmt_modified` datetime,
      primary key (`xid`),
      key `idx_gmt_modified_status` (`gmt_modified`, `status`),
      key `idx_transaction_id` (`transaction_id`)
    );
    
    -- the table to store BranchSession data
    drop table if exists `branch_table`;
    create table `branch_table` (
      `branch_id` bigint not null,
      `xid` varchar(128) not null,
      `transaction_id` bigint ,
      `resource_group_id` varchar(32),
      `resource_id` varchar(256) ,
      `lock_key` varchar(128) ,
      `branch_type` varchar(8) ,
      `status` tinyint,
      `client_id` varchar(64),
      `application_data` varchar(2000),
      `gmt_create` datetime,
      `gmt_modified` datetime,
      primary key (`branch_id`),
      key `idx_xid` (`xid`)
    );
    
    -- the table to store lock data
    drop table if exists `lock_table`;
    create table `lock_table` (
      `row_key` varchar(128) not null,
      `xid` varchar(96),
      `transaction_id` long ,
      `branch_id` long,
      `resource_id` varchar(256) ,
      `table_name` varchar(32) ,
      `pk` varchar(36) ,
      `gmt_create` datetime ,
      `gmt_modified` datetime,
      primary key(`row_key`)
    );
    

    5.启动

    进入 /soft/seata/bin 执行./seata-server.sh,启动seata-server服务,打开nacos查看是否成功启动
    [图片上传失败...(image-25365d-1653361429004)]
    后台启动nohup sh seata-server.sh > ./seata.log 2>&1 &

    相关文章

      网友评论

          本文标题:Linux安装和部署Nacos配置中心及Seata分布式事务

          本文链接:https://www.haomeiwen.com/subject/kljjprtx.html