什么是Nacos
用官網原話是,Nacos致力於幫助發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos 其實就是一個注冊中心,與Google的Zookeeper, 攜程的Apollo, Netflix的Eureka一樣。
Nacos集群搭建(本章主要講在Window環境下的搭建,以1.2.1版本為例。后期補Linux版本)
1、單節點搭建
第一步:通過官網下載Nacos的源碼包:https://github.com/alibaba/Nacos/releases
第二步:解壓zip放到自己喜歡的安裝目錄下,進入到nacos\conf 目錄下修改application.properties 配置文件
備注:我查看Wiki 顯示在1.2.0有對mysql8.0 錯誤的修復,仔細查閱后發現並沒有。所以我們的MySQL如果是5.6+的版本那么直接配置即可,如果是MySQL8.0+ 則需要自己打包,具體的操作在文章后續會詳細說明。
### Default web context path: server.servlet.contextPath=/nacos ### Default web server port: server.port=8849 ### If user MySQL as datasource: 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_config?serverTimezone=UTC&characterEncoding=utf-8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root
第三步:進入到nacos\conf 目錄下,根據自己實際情況選擇執行相應的SQL文件,我這里選擇的是nacos-mysql.sql
第四步:通過nacos\bin\startup.cmd 啟動,啟動成功后會看到一個Nacos的訪問路徑,輸入用戶名密碼nacos/nacos 登陸即可
2、集群環境的搭建
第一步:依舊是通過官網下載Nacos的源碼包:https://github.com/alibaba/Nacos/releases
第二步:依舊是解壓zip放到自己喜歡的安裝目錄下,進入到nacos\conf 目錄下修改application.properties 配置文件
第三步:依舊是進入到nacos\conf 目錄下,根據自己實際情況選擇執行相應的SQL文件
第四步:進入到nacos\conf 目錄下創建一個cluster.conf 文件,在這個文件中配置我們的集群信息
備注:這個地方的IP不能為127.0.0.1,否則會報錯。
169.254.154.176:8848 169.254.154.176:8849 169.254.154.176:8850
第五步:將你修改好的安裝包,根據自己的集群數進行復制(我這里有三個,所以復制三遍)。根據自己的集群配置,分別修改application.properties 文件中的端口號
第六步:通過命令startup.cmd -m cluster 啟動集群
備注:單節點的啟動命令為 startup.cmd -m standalone
在搭建過程中遇到的一些坑
1、Nacos 不知道Mysql 8.0+, 需要我們自己去下載源碼打包
第一步:下載源碼修改pom文件,根據我們自己本地版本引入不同的版本驅動
<!-- JDBC libs --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!--<version>5.1.34</version>--> <version>8.0.15</version> </dependency>
第二步:修改com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor 類的引用
備注:代碼中不能出現失效的引用,注釋也不行,在打包的過程中會檢查報錯。錯誤在對應的pmd.xml文件中顯示。
// MysqlHealthCheckProcessor類第24行,將原引用替換 import com.mysql.cj.jdbc.MysqlDataSource;
第三步:在pom文件中去除對test模塊的引用
第四步:打開cmd 進入源代碼所在目錄,輸入mvn -Prelease-nacos clean install -U -X 命令執行打包
第五步:進入nacos-1.2.1\distribution\target 文件夾就能看到我們打的最新包啦
2、 Nacos的單節點和集群的啟動命令
進入文件夾反鍵查看nacos\bin\startup.cmd 文件就懂了。MODE默認參數為"standalone",所以我們雙擊startup.cmd 永遠執行的都是單節點。
另外在集群模式下,Xms、Xmx的默認配置為2g,Xmn的默認配置為1g,我們需要根據自己電腦的實際情況進行修改。
3、 啟動報錯 Failed to create database 'nacos\data\derby-data', see the next exception for details.
刪除nacos\data目錄下的數據文件即可,這種一般是配置文件錯誤,執行了錯誤的sql