一、nacos安裝&運行
Java微服務新生代之Nacos--安裝、集羣、集成
nacos修改默認的用戶名密碼
java微服務Nacos配置管理
SpringCloud - 服務註冊與配置中心Nacos使用詳解2(同一個服務器上啓動三Nacos-集羣部署)
####下載
#下載
git clone https://github.com/alibaba/nacos.git
#或直接下編譯好的 [nacos-server-2.0.0.zip](https://github.com/alibaba/nacos/releases/download/2.0.0-bugfix/nacos-server-2.0.0.zip)
#安裝到本地倉庫
cd nacos/
mvn -Prelease-nacos clean install -U
#Maven 方式打包後會在當前目錄 distribution/target 下生成兩個壓縮包 nacos-server-1.0.1.tar.gz 和 nacos-server-1.0.1.zip,任意解壓一個使用即可。
#解壓&運行
tar -xvf nacos-server-2.0.0.tar.gz
cd ./nacos/bin
./startup.sh -m standalone
centos 單例運行
win10 startup.cmd之前需要修改 set MODE="standalone" 、或配置集羣信息
err運行錯誤原因:nacos1.3.2不能啓動(Aug 4, 2020)啓動報錯:db.num is null
#訪問地址
http://192.168.235.2:8848/nacos/index.html
#user: nacos ;pwd:nacos (->czg*)
二、nacos集羣配置
2.1 mysql中創建nacos的數據庫nacos_config
Nacos 推薦生產環境中數據庫使用建議至少主備模式,或者採用高可用數據庫。
這裏爲了簡化只採用了一個數據庫。首先新建一個名爲 nacos_config
的數據庫
#naicat 或其他mysql客戶端運行如下創建數據庫腳本
DROP DATABASE IF EXISTS nacos_config;
CREATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
USE nacos_config;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
2.2 初始化nacos數據
使用提供的 sql 語句源文件 導入初始數據。
初始化腳本中除了建表外,就是爲nacos建立一個nacos用戶,併爲其設置了管理員角色
2.3 集羣配置
#停止nacos服務
./shutdown.sh
#查看ip地址,比如得到ip 172.27.189.199
ifconfig
2.3.1 配置cluster.conf(集羣節點)
在每個 Nacos 節點的conf目錄下,添加配置文件 cluster.conf,可以參考相同目錄下的 cluster.conf.example 文件,每行配置一個節點的 IP 和端口,如 ip:port
cp ./nacos/conf/cluster.conf.example ./nacos/conf/cluster.conf
#編輯集羣配置文件
vim ./nacos/conf/cluster.conf
比如
172.27.189.199:8848
172.27.189.199:8847
172.27.189.199:8846
2.3.2 配置conf/application.properties(mysql數據庫連接)
#編輯集羣配置文件
vim ./nacos/conf/application.properties
其中server.port=8848是端口號
配置內容方式參考:application.properties.example
# 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?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# db.user.0=nacos
# db.password.0=nacos
2.3.2copy nacos目錄爲集羣實例
cp -r nacos nacos8846
cp -r nacos nacos8847
並修改對應的端口server.port=8848是端口號-->8846 、8847
分別啓動不同的集羣實例,分別運行在8846、8847、8848端口
./nacos/bin/startup.sh
./nacos8846/bin/startup.sh
./nacos8847/bin/startup.sh
查看啓動日誌
cat ./nacos8846/logs/start.out
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.
Caused by: io.grpc.netty.shaded.io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use