Nacos集群配置實例(windows下測試)


1、首先 fork 一份 nacos 的代碼到自己的 github 庫,然后把代碼 clone 到本地。
  git地址:https://github.com/alibaba/nacos.git

2、然后將你的項目導入到ideal編輯器中(找到子項目distribution)

 

3、添加集群節點:找到文件distribution->conf->cluster.conf.example,復制一份去掉后綴.example,編輯cluster.conf,將節點修為
  127.0.0.1:8841
  127.0.0.1:8842
  127.0.0.1:8843
4、修改數據源
  在distribution->conf->application.properties中添加數據源(將mysql改成自己服務的鏈接地址,包括賬號密碼)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos
db.password=nacos

  

5、在自己的數據庫中導入數據
  將distribution->conf->nacos-mysql.sql中的表結構導入到自己要鏈接到的數據庫中
6、打包
  然后在項目的根目錄下執行以下命令(假設我們已經配置好了 java 和 maven 環境):mvn -Prelease-nacos clean install -U
  注:是項目存放在在本機的根目錄D:\Workspaces\Nacos,然后在ideal中使用Terminal執行上述打包命令(前提是你安裝了Terminal命令),打包完后會在distribution->target下生成兩個壓縮文件nacos-server-1.0.1.tar.gz(linux下使用)和nacos-server-1.0.1.zip(windows下使用)
7、集群配置
  a、創建節點:解壓nacos-server-1.0.1.zip后,復制三份,分別命令為nacos-server-1.0.1-01、nacos-server-1.0.1-02、nacos-server-1.0.1-03;
  b、修改配置:修改三個節點的配置文件,打開文件nacos-server-1.0.1-01\nacos\conf\application.properties,將第一個節點的端口修改為server.port=8841,
  並修改nacos-server-1.0.1-01\nacos\bin\startup.sh文件,在JVM Configuration處,集群配置下添加下面兩段代碼:
  JAVA_OPT="${JAVA_OPT} -Dserver.ip=127.0.0.1"   JAVA_OPT="${JAVA_OPT} -Dserver.port=8841"
  注:如果在linux上實驗有用到不同網段的IP則需要指定IP,否則會報錯。windows本機測試只需要指定端口即可。參考來源:https://www.wandouip.com/t5i278697/
  其他兩個節點的配置同第一個節點一樣。
8、啟動服務
  本地啟動:直接雙擊啟動nacos-server-1.0.1-\nacos\bin\startup.cmd文件啟動(或者bin目錄下cmd命令輸入cmd startup.cmd啟動),然后可以直接到瀏覽器中輸入http://127.0.0.1:8841/nacos/index.html進行訪問,賬號密碼均為nacos
  注:啟動之后切記勿關閉doc命令窗口,三個節點同時按照此方法進行啟動。linux下啟動:需要將nacos-server-1.0.1.tar.gz拷貝到服務器上,然后解壓命令解壓tar -xvf nacos-server-1.0.1.tar.gz,輸入啟動命令:sh startup.sh
9、修改賬號密碼
  在console項目下找到項目Nacos\console\src\main\java\com\alibaba\nacos\console\utils\PasswordEncoderUtil.java類,輸入你將要設置的密碼123456,運行生成加鹽的字符串$2a$10$XNArlfqerD3jY4LepVByPO6X1qJQDDWJsmbFnusKxVWjCFgJpCHbm,然后到nacos數據庫中,修改user表用戶nacos的密碼即可,用戶名直接可以在數據庫中修改。
10、Nginx代理配置
  本地三個節點均啟動后,開始配置集群代理,打開nginx-1.14.2\conf\nginx.conf配置文件,添加下面兩段代碼:
#集群的3個節點
upstream nacos { server 127.0.0.1:8841 weight=2; server 127.0.0.1:8842 weight=2; server 127.0.0.1:8843 weight=2; } server { listen 80; server_name localhost; location /nacos/ { #代理 proxy_pass http://nacos/nacos/; } } 
11、登錄客戶端
  http://localhost/nacos/index.html,輸入預設好的賬號和密碼即可。

登錄成功后的界面,集群節點查看

服務器配置后的節點效果

疑問一:我在本地配置了三個節點為什么在客戶端只顯示了一個節點,每次強制刷新頁面時訪問的節點會發生變化;每次而且節點狀態和集群任期也會發生變化
  127.0.0.1/8整個都是環回地址,用來測試本機的TCP/IP協議棧,發往這段A類地址數據包不會出網卡,網絡設備不會對其做路由
疑問二:當注冊實例或者創建一個服務等操作時,節點狀態和集群任期也會產生相應的變化。
  這個屬於Ratf協議的內容,關於Raft協議的介紹可以參考https://www.jianshu.com/p/aa77c8f4cb5c

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM