天天看點

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

說明:本文講解為nacos1.2.1+seata1.2.0/1.1.0版本

一.Linux環境

1.nacos安裝

下載下傳位址:https://github.com/alibaba/nacos/releases

1.下載下傳上傳至linux伺服器,tar -zxvf 解壓

2.進入nacos-server-1.2.1\nacos\conf 修改application.properties

注意這個一定要改成false,否則會有大量的日志

server.tomcat.accesslog.enabled=false

spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=
db.password=

#注意這個一定要改成false,否則會有大量的日志
server.tomcat.accesslog.enabled=false
           
3.去mysql資料庫建立nacos  運作 nacos-mysql.sql腳本 ,之後再運作一下語句
INSERT INTO `users` VALUES ('nacos', '$2a$10$ZLP2nt6d4bVYAcBExmR5d.uyDBlu.M0rSqJu5HvWPi/Tjx/zTkFEm', '1');

INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN');

DROP TABLE IF EXISTS `permissions`;
CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);
           
4.進入bin目錄 運作   啟動
sh startup.sh -m standalone
           
這裡必須要加  -m standalone 否則會出現一下情況
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

可以看一下日志,日志中提示叢集配置檔案的問題,這裡預設啟動是叢集環境,是以要以單機模式啟動

5.通過 ip位址:8848 通路成功  賬号密碼都是nacos

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

2.seata安裝

下載下傳位址:http://seata.io/zh-cn/blog/download.html   源碼和啟動包都下載下傳

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
源碼中配置目錄講解
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

建立seata資料庫,導入伺服器端sql

(特殊提醒:建議把以下字段長度加長,以免開發中出現長度不夠,浪費時間排查)

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
1.上傳安裝包和源碼中以下檔案到Linux伺服器
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
2.修改config.txt 中的 配置 
store.mode=db

store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true
store.db.user=
store.db.password=
           
3.進入nacos  運作 腳本 
sh /usr/local/seata/nacos/nacos-config.sh -h localhost -p 8848 
           
如果出現以下錯誤。說明找不到配置檔案路徑錯誤,修改執行腳本中的路徑即可
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
4.檢視nacos配置打入成功
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
5.修改seata的registry.config中的registry和config 的 type = "nacos"
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
6.進入seata 的 bin 目錄 啟動seata
chmod 777 seata-server.sh

nohup ./seata-server.sh &
           

注意這裡必須nohup打頭,這樣關閉linux連接配接工具服務不會掉,比如對比zookeeper的啟動腳本

(部落客作為非專業運維人員,這個坑也讓我頭疼了兩天)

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
6.進入nacos檢視是否成功啟動
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

二.windows環境安

nacos 下載下傳位址:https://github.com/alibaba/nacos/releases

seata下載下傳位址:http://seata.io/zh-cn/blog/download.html 

1.建立nacos資料庫,由于seata的源碼中沒有windos環境的配置導入腳本,隻有 .py 和 .sh 可以使用 上面的linux環境預先向資料庫導入好配置  也可以裝一下git輕按兩下運作sh腳本
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

2.建立seata資料庫,導入上面介紹的sql 

3.修改好上面Linux環境所需要修改的nacos和seata的配置

4.進入bin 輕按兩下 startup.cmd 啟動nacos

5.進入bin 輕按兩下 seata-server.bat 啟動seata

Seata使用采坑集合

1.問題1:表未加主鍵問題

io.seata.common.exception.ShouldNeverHappenException: [xid:10.8.0.26:8091:2042993961]get tablemeta failed
           

以上問題原因是參與事物的表未加主鍵,解決方法加上主鍵即可

2.問題2:table_name長度不夠問題

io.seata.core.exception.RmTransactionException:
 Response[ TransactionException[branch register request failed. 
xid=172.19.131.240:8091:2042995578, msg=Data truncation: Data too long for ]
           

以上問題原因:此字段長度不夠,原來是30

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合

解決方法改為适合的長度即可

3.問題3:no available service 'default' found, please make sure registry config correct

這裡seata1.2有一個隐藏的坑,會發現源碼中一個是 vgroupMapping 一個是vgroup-mapping 這裡我們統一改成vgroupMapping

nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
nacos1.2.1+seata1.2.0/1.1.0windows和linux環境搭建和seata-config配置注入一.Linux環境二.windows環境安Seata使用采坑集合
上一篇: NacosNacos
下一篇: nacos + seata

繼續閱讀