seata-server安裝、運行(ubuntu)

​一、下載並安裝

github官網地址:

https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.tar.gz

因下載比較慢,我將下載好的資源上傳了CSDN:https://download.csdn.net/download/JackRen_Developer/11982282

 

下載好後上傳ubuntu自己的路徑:

這是我自己的路經

二、導入配置

本文使用nacos作爲配置中心和服務發現,file、apollo、redis、zk、consul等也可以舉一反三。

我們這裏用默認的導入先讓seata-server跑起來,過後對着file.conf和java程序啓動後的報錯調整,重新導入即可。

vim /root/work/ziyun56.seata/seata-server-0.9.0/conf/nacos-config.txt

 

transport.type=TCPtransport.server=NIOtransport.heartbeat=truetransport.thread-factory.boss-thread-prefix=NettyBosstransport.thread-factory.worker-thread-prefix=NettyServerNIOWorkertransport.thread-factory.server-executor-thread-prefix=NettyServerBizHandlertransport.thread-factory.share-boss-worker=falsetransport.thread-factory.client-selector-thread-prefix=NettyClientSelectortransport.thread-factory.client-selector-thread-size=1transport.thread-factory.client-worker-thread-prefix=NettyClientWorkerThreadtransport.thread-factory.boss-thread-size=1transport.thread-factory.worker-thread-size=8transport.shutdown.wait=3service.vgroup_mapping.my_test_tx_group=defaultservice.vgroup_mapping.user-web-fescar-service-group=defaultservice.vgroup_mapping.user-fescar-service-group=defaultservice.vgroup_mapping.order-fescar-service-group=defaultservice.vgroup_mapping.business-service-fescar-service-group=defaultservice.vgroup_mapping.account-service-fescar-service-group=defaultservice.vgroup_mapping.storage-service-fescar-service-group=defaultservice.vgroup_mapping.order-service-fescar-service-group=defaultservice.default.grouplist=172.16.10.122:8091service.enableDegrade=falseservice.disable=falseservice.max.commit.retry.timeout=-1service.max.rollback.retry.timeout=-1client.async.commit.buffer.limit=10000client.lock.retry.internal=10client.lock.retry.times=30client.lock.retry.policy.branch-rollback-on-conflict=trueclient.table.meta.check.enable=trueclient.report.retry.count=5client.tm.commit.retry.count=1client.tm.rollback.retry.count=1store.mode=filestore.file.dir=file_store/datastore.file.max-branch-session-size=16384store.file.max-global-session-size=512store.file.file-write-buffer-cache-size=16384store.file.flush-disk-mode=asyncstore.file.session.reload.read_size=100store.db.datasource=dbcpstore.db.db-type=mysqlstore.db.driver-class-name=com.mysql.jdbc.Driverstore.db.url=jdbc:mysql://172.16.10.105:3307/seata?useUnicode=truestore.db.user=rootstore.db.password=rootstore.db.min-conn=1store.db.max-conn=3store.db.global.table=global_tablestore.db.branch.table=branch_tablestore.db.query-limit=100store.db.lock-table=lock_tablerecovery.committing-retry-period=1000recovery.asyn-committing-retry-period=1000recovery.rollbacking-retry-period=1000recovery.timeout-retry-period=1000transaction.undo.data.validation=truetransaction.undo.log.serialization=jacksontransaction.undo.log.save.days=7transaction.undo.log.delete.period=86400000transaction.undo.log.table=undo_logtransport.serialization=seatatransport.compressor=nonemetrics.enabled=falsemetrics.registry-type=compactmetrics.exporter-list=prometheusmetrics.exporter-prometheus-port=9898support.spring.datasource.autoproxy=false

 

vim /root/work/ziyun56.seata/seata-server-0.9.0/conf/nacos-config.sh

 

for line in $(cat nacos-config.txt)改爲for line in $(cat /root/work/ziyun56.seata/seata-server-0.9.0/conf/nacos-config.txt)

 

導入配置到nacos。

格式爲:

sh nacos-config.sh $Nacos-Server-IP

因爲nacos-config.sh腳本中已經把8848端口寫死,如果你的nacos-server不是8848端口,請修改nacos-config.sh

bash /root/work/ziyun56.seata/seata-server-0.9.0/conf/nacos-config.sh 172.16.10.121

其中172.16.10.121是nacos的ip

腳本執行最後輸出 "init nacos config finished, please start seata-server." 說明推送配置成功。若想進一步確認可登陸Nacos控制檯->配置列表->篩選查詢Group爲FESCAR_GROUP的配置項。

三、啓動seata-server(事務協調器)

修改日誌目錄(非必須)

vim /root/work/ziyun56.seata/seata-server-0.9.0/conf/logback.xml

修改爲:

<!--<property name="LOG_HOME" value="${user.home}/logs/seata"/>-->    <property name="LOG_HOME" value="/root/work/ziyun56.seata/seata-server-0.9.0/logs"/>

配置修改:

vim /root/work/ziyun56.seata/seata-server-0.9.0/conf/registry.conf

 

registry {  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa  type = "nacos"  nacos {    serverAddr = "172.16.10.121"    namespace = "public"    cluster = "default"  }  eureka {    serviceUrl = "http://localhost:8761/eureka"    application = "default"    weight = "1"  }  redis {    serverAddr = "localhost:6379"    db = "0"  }  zk {    cluster = "default"    serverAddr = "127.0.0.1:2181"    session.timeout = 6000    connect.timeout = 2000  }  consul {    cluster = "default"    serverAddr = "127.0.0.1:8500"  }  etcd3 {    cluster = "default"    serverAddr = "http://localhost:2379"  }  sofa {    serverAddr = "127.0.0.1:9603"    application = "default"    region = "DEFAULT_ZONE"    datacenter = "DefaultDataCenter"    cluster = "default"    group = "SEATA_GROUP"    addressWaitTime = "3000"  }  file {    name = "file.conf"  }}config {  # file、nacos 、apollo、zk、consul、etcd3  type = "nacos"  nacos {    serverAddr = "172.16.10.121"    namespace = "public"    cluster = "default"  }  consul {    serverAddr = "127.0.0.1:8500"  }  apollo {    app.id = "seata-server"    apollo.meta = "http://192.168.1.204:8801"  }  zk {    serverAddr = "127.0.0.1:2181"    session.timeout = 6000    connect.timeout = 2000  }  etcd3 {    serverAddr = "http://localhost:2379"  }  file {    name = "file.conf"  }}

其中修改的:

只需要修改這兩處,其他的地方不需要動

注:serverAddr不要填端口號   public爲小寫

啓動格式sh seata-server.sh $LISTEN_PORT $PATH_FOR_PERSISTENT_DATA $IP(此參數可選)

$IP參數 用於多IP環境下指定 Fescar-Server 註冊服務的IP    雖然是可選,但還是要填,之前我偷懶沒填,一大堆虛擬ip各種亂定位。

命令啓動

sh /root/work/ziyun56.seata/seata-server-0.9.0bin/seata-server.sh -p 8091 -h 172.16.10.121

 

方便啓動,定義服務,先寫個啓動腳本:

 

#!/bin/bashexport JAVA_HOME=/root/work/jdk1.8.0_92/sh /root/work/ziyun56.seata/seata-server-0.9.0/bin/seata-server.sh -p 8091 -h 172.16.10.121

第一個命令是我ubuntu沒有安裝jdk環境,所以我下載了一個傳上去了

 

然後編輯服務:

vim /lib/systemd/system/seata-server.service

 

[Unit]Description=seata-serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=simpleExecStart=/root/work/ziyun56.seata/seata-server-0.9.0/startup.shRestart=alwaysPrivateTmp=true[Install]WantedBy=multi-user.target

賦予權限

 

chmod 777 /root/work/ziyun56.seata/seata-server-0.9.0r/startup.shchmod 777 /lib/systemd/system/seata-server.service

啓用服務

systemctl enable seata-server.servicesystemctl daemon-reload

運行

systemctl start seata-server.service

查看狀態

systemctl status seata-server.service

查看進程

ps -ef|grep seata-server

 

運行成功後可在Nacos控制檯的 服務列表 看到 服務名serverAddr的條目

至此,分佈式服務seata服務部署結束!,有疑問可留言,或者加我wx:AllStackDeveloper,關注公衆號:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章