Nacos集群搭建過程詳解_第1頁
Nacos集群搭建過程詳解_第2頁
Nacos集群搭建過程詳解_第3頁
Nacos集群搭建過程詳解_第4頁
Nacos集群搭建過程詳解_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Nacos集群搭建過程詳解目錄1.集群結(jié)構(gòu)圖2.搭建集群2.1.初始化數(shù)據(jù)庫2.2.下載nacos2.3.配置Nacos2.4.啟動(dòng)2.5.nginx反向代理2.6.優(yōu)化

1.集群結(jié)構(gòu)圖

官方給出的Nacos集群圖:

其中包含3個(gè)nacos節(jié)點(diǎn),然后一個(gè)負(fù)載均衡器代理3個(gè)Nacos。這里負(fù)載均衡器可以使用nginx。

我們計(jì)劃的集群結(jié)構(gòu):

三個(gè)nacos節(jié)點(diǎn)的地址:

節(jié)點(diǎn)ipportnacos18845nacos28846nacos38847

2.搭建集群

搭建集群的基本步驟:

搭建數(shù)據(jù)庫,初始化數(shù)據(jù)庫表結(jié)構(gòu)下載nacos安裝包配置nacos啟動(dòng)nacos集群nginx反向代理

2.1.初始化數(shù)據(jù)庫

Nacos默認(rèn)數(shù)據(jù)存儲(chǔ)在內(nèi)嵌數(shù)據(jù)庫Derby中,不屬于生產(chǎn)可用的數(shù)據(jù)庫。

官方推薦的最佳實(shí)踐是使用帶有主從的高可用數(shù)據(jù)庫集群

這里我們以單點(diǎn)的數(shù)據(jù)庫為例來講解。

首先新建一個(gè)數(shù)據(jù)庫,命名為nacos,而后導(dǎo)入下面的SQL:

CREATETABLE`config_info`(

`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',

`data_id`varchar(255)NOTNULLCOMMENT'data_id',

`group_id`varchar(255)DEFAULTNULL,

`content`longtextNOTNULLCOMMENT'content',

`md5`varchar(32)DEFAULTNULLCOMMENT'md5',

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'修改時(shí)間',

`src_user`textCOMMENT'sourceuser',

`src_ip`varchar(50)DEFAULTNULLCOMMENT'sourceip',

`app_name`varchar(128)DEFAULTNULL,

`tenant_id`varchar(128)DEFAULT''COMMENT'租戶字段',

`c_desc`varchar(256)DEFAULTNULL,

`c_use`varchar(64)DEFAULTNULL,

`effect`varchar(64)DEFAULTNULL,

`type`varchar(64)DEFAULTNULL,

`c_schema`text,

PRIMARYKEY(`id`),

UNIQUEKEY`uk_configinfo_datagrouptenant`(`data_id`,`group_id`,`tenant_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='config_info';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=config_info_aggr*/

/******************************************/

CREATETABLE`config_info_aggr`(

`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',

`data_id`varchar(255)NOTNULLCOMMENT'data_id',

`group_id`varchar(255)NOTNULLCOMMENT'group_id',

`datum_id`varchar(255)NOTNULLCOMMENT'datum_id',

`content`longtextNOTNULLCOMMENT'內(nèi)容',

`gmt_modified`datetimeNOTNULLCOMMENT'修改時(shí)間',

`app_name`varchar(128)DEFAULTNULL,

`tenant_id`varchar(128)DEFAULT''COMMENT'租戶字段',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_configinfoaggr_datagrouptenantdatum`(`data_id`,`group_id`,`tenant_id`,`datum_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='增加租戶字段';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=config_info_beta*/

/******************************************/

CREATETABLE`config_info_beta`(

`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',

`data_id`varchar(255)NOTNULLCOMMENT'data_id',

`group_id`varchar(128)NOTNULLCOMMENT'group_id',

`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',

`content`longtextNOTNULLCOMMENT'content',

`beta_ips`varchar(1024)DEFAULTNULLCOMMENT'betaIps',

`md5`varchar(32)DEFAULTNULLCOMMENT'md5',

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'修改時(shí)間',

`src_user`textCOMMENT'sourceuser',

`src_ip`varchar(50)DEFAULTNULLCOMMENT'sourceip',

`tenant_id`varchar(128)DEFAULT''COMMENT'租戶字段',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_configinfobeta_datagrouptenant`(`data_id`,`group_id`,`tenant_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='config_info_beta';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=config_info_tag*/

/******************************************/

CREATETABLE`config_info_tag`(

`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',

`data_id`varchar(255)NOTNULLCOMMENT'data_id',

`group_id`varchar(128)NOTNULLCOMMENT'group_id',

`tenant_id`varchar(128)DEFAULT''COMMENT'tenant_id',

`tag_id`varchar(128)NOTNULLCOMMENT'tag_id',

`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',

`content`longtextNOTNULLCOMMENT'content',

`md5`varchar(32)DEFAULTNULLCOMMENT'md5',

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'修改時(shí)間',

`src_user`textCOMMENT'sourceuser',

`src_ip`varchar(50)DEFAULTNULLCOMMENT'sourceip',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_configinfotag_datagrouptenanttag`(`data_id`,`group_id`,`tenant_id`,`tag_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='config_info_tag';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=config_tags_relation*/

/******************************************/

CREATETABLE`config_tags_relation`(

`id`bigint(20)NOTNULLCOMMENT'id',

`tag_name`varchar(128)NOTNULLCOMMENT'tag_name',

`tag_type`varchar(64)DEFAULTNULLCOMMENT'tag_type',

`data_id`varchar(255)NOTNULLCOMMENT'data_id',

`group_id`varchar(128)NOTNULLCOMMENT'group_id',

`tenant_id`varchar(128)DEFAULT''COMMENT'tenant_id',

`nid`bigint(20)NOTNULLAUTO_INCREMENT,

PRIMARYKEY(`nid`),

UNIQUEKEY`uk_configtagrelation_configidtag`(`id`,`tag_name`,`tag_type`),

KEY`idx_tenant_id`(`tenant_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='config_tag_relation';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=group_capacity*/

/******************************************/

CREATETABLE`group_capacity`(

`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主鍵ID',

`group_id`varchar(128)NOTNULLDEFAULT''COMMENT'GroupID,空字符表示整個(gè)集群',

`quota`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'配額,0表示使用默認(rèn)值',

`usage`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'使用量',

`max_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'單個(gè)配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',

`max_aggr_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'聚合子配置最大個(gè)數(shù),,0表示使用默認(rèn)值',

`max_aggr_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'單個(gè)聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',

`max_history_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'最大變更歷史數(shù)量',

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'修改時(shí)間',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_group_id`(`group_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='集群、各Group容量信息表';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=his_config_info*/

/******************************************/

CREATETABLE`his_config_info`(

`id`bigint(64)unsignedNOTNULL,

`nid`bigint(20)unsignedNOTNULLAUTO_INCREMENT,

`data_id`varchar(255)NOTNULL,

`group_id`varchar(128)NOTNULL,

`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',

`content`longtextNOTNULL,

`md5`varchar(32)DEFAULTNULL,

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMP,

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMP,

`src_user`text,

`src_ip`varchar(50)DEFAULTNULL,

`op_type`char(10)DEFAULTNULL,

`tenant_id`varchar(128)DEFAULT''COMMENT'租戶字段',

PRIMARYKEY(`nid`),

KEY`idx_gmt_create`(`gmt_create`),

KEY`idx_gmt_modified`(`gmt_modified`),

KEY`idx_did`(`data_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='多租戶改造';

/******************************************/

/*數(shù)據(jù)庫全名=nacos_config*/

/*表名稱=tenant_capacity*/

/******************************************/

CREATETABLE`tenant_capacity`(

`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主鍵ID',

`tenant_id`varchar(128)NOTNULLDEFAULT''COMMENT'TenantID',

`quota`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'配額,0表示使用默認(rèn)值',

`usage`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'使用量',

`max_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'單個(gè)配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',

`max_aggr_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'聚合子配置最大個(gè)數(shù)',

`max_aggr_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'單個(gè)聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',

`max_history_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'最大變更歷史數(shù)量',

`gmt_create`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`datetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'修改時(shí)間',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_tenant_id`(`tenant_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='租戶容量信息表';

CREATETABLE`tenant_info`(

`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',

`kp`varchar(128)NOTNULLCOMMENT'kp',

`tenant_id`varchar(128)default''COMMENT'tenant_id',

`tenant_name`varchar(128)default''COMMENT'tenant_name',

`tenant_desc`varchar(256)DEFAULTNULLCOMMENT'tenant_desc',

`create_source`varchar(32)DEFAULTNULLCOMMENT'create_source',

`gmt_create`bigint(20)NOTNULLCOMMENT'創(chuàng)建時(shí)間',

`gmt_modified`bigint(20)NOTNULLCOMMENT'修改時(shí)間',

PRIMARYKEY(`id`),

UNIQUEKEY`uk_tenant_info_kptenantid`(`kp`,`tenant_id`),

KEY`idx_tenant_id`(`tenant_id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_binCOMMENT='tenant_info';

CREATETABLE`users`(

`username`varchar(50)NOTNULLPRIMARYKEY,

`password`varchar(500)NOTNULL,

`enabled`booleanNOTNULL

CREATETABLE`roles`(

`username`varchar(50)NOTNULL,

`role`varchar(50)NOTNULL,

UNIQUEINDEX`idx_user_role`(`username`ASC,`role`ASC)USINGBTREE

CREATETABLE`permissions`(

`role`varchar(50)NOTNULL,

`resource`varchar(255)NOTNULL,

`action`varchar(8)NOTNULL,

UNIQUEINDEX`uk_role_permission`(`role`,`resource`,`action`)USINGBTREE

INSERTINTOusers(username,password,enabled)VALUES('nacos','$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu',TRUE);

INSERTINTOroles(username,role)VALUES('nacos','ROLE_ADMIN');

2.2.下載nacos

nacos在GitHub上有下載地址:

/alibaba/nacos/tags

可以選擇任意版本下載。

本例中才用1.4.1版本:

2.3.配置Nacos

將這個(gè)包解壓到任意非中文目錄下,如圖:

目錄說明:

bin:啟動(dòng)腳本

conf:配置文件

進(jìn)入nacos的conf目錄,修改配置文件cluster.conf.example,重命名為cluster.conf:

然后添加內(nèi)容:

:8845

.8846

.8847

然后修改perties文件,添加數(shù)據(jù)庫配置

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://:3306/nacoscharacterEncoding=utf8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論