nacos單機,叢集安裝部署
阿新 • • 發佈:2020-12-02
nacos單機啟動
準備
-
下載nacos安裝包
-
準備centos環境 (本次測試使用docker)
PS C:\Users\Administrator> docker run -tid --name centos_nacos -p 8849:8848 --privileged=true centos:latest /sbin/init
- 如果使用shell工具進行連線,增加 -p22:22 引數
- 將安裝包移動到映象當中 /opt 目錄下
#nacos PS C:\Users\Administrator> docker cp C:\Users\Administrator\Downloads\nacos-server-1.4.0.tar.gz centos_nacos:/opt #jdk PS C:\Users\Administrator> docker cp C:\Users\Administrator\Downloads\jdk-8u192-linux-x64.tar.gz centos_nacos:/opt
安裝依賴環境
- 安裝mysql(mysql不作為本文重點,直接使用mysql映象,或者使用本地已有mysql)
PS C:\Users\Administrator> docker pull mysql
PS C:\Users\Administrator> docker run -itd --name mysql_nacos -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
- 進入到容器中,建立安裝使用者
PS C:\Users\Administrator> docker exec -it centos_nacos /bin/bash [root@c6fb781df367 /]# useradd nacos [root@c6fb781df367 /]# chown -R nacos /opt [root@c6fb781df367 /]# su nacos [nacos@c6fb781df367 /]$ cd /opt/
- 安裝jdk
[nacos@133f13e75eb1 opt]$ tar -zxvf jdk-8u192-linux-x64.tar.gz -C /opt && mv jdk1.8.0_192 jdk1.8 [nacos@133f13e75eb1 opt]$ echo 'export JAVA_HOME=/opt/jdk1.8' >> ~/.bashrc [nacos@133f13e75eb1 opt]$ echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bashrc [nacos@133f13e75eb1 opt]$ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc [nacos@133f13e75eb1 jdk1.8]$ chmod +x ~/.bashrc [nacos@133f13e75eb1 opt]$ source ~/.bashrc
安裝nacos
- 解壓安裝
[nacos@133f13e75eb1 opt]$ tar -zxvf nacos-server-1.4.0.tar.gz -C /opt
- 建立資料庫(初始化)
create database nacos_test default character set utf8mb4 collate
utf8mb4_general_ci;create user 'nacos'@'%' identified by '123456';grant all privileges on nacos_test.* to 'nacos'@'%';use nacos_test;
- 建立nacos表結構 (執行/opt/nacos/conf/nacos-mysql.sql 指令碼)
[nacos@133f13e75eb1 conf]$ ls -l /opt/nacos/conf/
total 68
-rw-r--r-- 1 nacos nacos 6511 Nov 2 11:07 application.properties
-rw-r--r-- 1 nacos nacos 6511 Nov 2 11:07 application.properties.example
-rw-r--r-- 1 nacos nacos 670 Oct 29 02:41 cluster.conf.example
-rw-r--r-- 1 nacos nacos 25715 Nov 2 11:07 nacos-logback.xml
-rw-r--r-- 1 nacos nacos 10660 Oct 29 02:41 nacos-mysql.sql
-rw-r--r-- 1 nacos nacos 8073 Oct 29 02:41 schema.sql
配置檔案修改
- 修改 /opt/nacos/conf/application.properties
- 以下資料庫連線資訊為本地mysql資訊,修改為本地配置(這裡使用docker)
- 資料庫連線使用者密碼為上一步初始化資料庫設定
[nacos@c6fb781df367 conf]$ cp /opt/nacos/conf/application.properties.example /opt/nacos/conf/application.properties
#修改如下涉及到的配置
[nacos@c6fb781df367 conf]$ vi /opt/nacos/conf/application.properties
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://172.16.1.236:3307/nacos_test?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=123456
- 修改nacos啟動模式為單機
sed -i "s/export MODE=\"cluster\"/export MODE=\"standalone\"/g" /opt/nacos/bin/startup.sh
驗證
- 啟動
/opt/nacos/bin/startup.sh
-
瀏覽器訪問 (localhost:8849)這裡8849為docker對映埠
-
預設使用者密碼為nacos nacos
nacos叢集搭建
準備
- 準備三個docker容器,埠對映如下
port |
---|
8849:8848 |
8850:8848 |
8851:8848 |
- 執行語句
PS C:\Users\Administrator> docker run -tid --name centos_nacos -p 8849:8848 --privileged=true centos:latest /sbin/init
PS C:\Users\Administrator> docker run -tid --name centos_nacos2 -p 8850:8848 --privileged=true centos:latest /sbin/init
PS C:\Users\Administrator> docker run -tid --name centos_nacos3 -p 8851:8848 --privileged=true centos:latest /sbin/init
配置修改(分別在三個機器上面進行配置修改)
- 首先在三個容器中按照nacos單機啟動準備好所需資料。
- 修改啟動模式為叢集模式(預設為叢集模式,不用修改)
sed -i "s/export MODE=\"standalone\"/export MODE=\"cluster\"/g" /opt/nacos/bin/startup.sh
- 修改/opt/nacos/config/cluster.conf檔案
[nacos@133f13e75eb1 conf]$ mv /opt/nacos/conf/cluster.conf.example /opt/nacos/conf/cluster.conf
#這裡使用對映埠沒有成功,所以使用了容器ip,可以安裝 yum install -y net-tools 通過ifconfig命令檢視
[nacos@133f13e75eb1 conf]$ vi /opt/nacos/conf/cluster.conf
172.17.0.5:8848
172.17.0.7:8848
172.17.0.8:8848
驗證
- 分別啟動
/opt/nacos/bin/startup.sh
- 訪問 localhost:8849/nacos