1. 程式人生 > >Nacos 單機以及集群搭建

Nacos 單機以及集群搭建

.data 訪問 使用 基礎 work virtual inf 環境準備 efs

前言

  Nacos是阿裏雲開源服務,下面兩句話是Nacos官方解釋什麽是Nacos。

  Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。

  Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以“服務”為中心的現代應用架構 (例如微服務範式、雲原生範式) 的服務基礎設施。

環境準備

技術分享圖片

  工作目錄 /app

  3臺機器需安裝配置 64 bit JDK 1.8+  --> 下載地址

  Nacos 截至目前最新版本為1.0.0 --> 下載地址  下載後解壓到/app

單機模式

單機啟動以A虛擬機做示例

1:啟動

  單機啟動不需要什麽配置,只需要JDK1.8+支持,數據庫由內置數據庫進行存儲,也可以使用MySQL數據庫。默認啟動端口為8848,如果需要修改端口,修改conf/application.properties 中的server.port項。

sh startup.sh -m standalone

2:訪問

瀏覽器訪問192.168.2.10:8848/nacos/

默認賬戶和密碼為 nacos

技術分享圖片

集群模式

一:集群環境

1:JDK1.8+

2:3個或3個以上Nacos節點才能構成集群。

3:MySQL數據庫,目前只支持MySQL,集群不能使用內置數據庫。

4:拓撲圖

技術分享圖片

二:配置

1:將conf下cluster.conf.example復制一份為cluster.conf

[[email protected] conf]# cp cluster.conf.example cluster.conf

2:將三個節點添加到集群配置文件cluster.conf

[[email protected] conf]# cat cluster.conf
#it is ip
#example
192.168.2.10:8848
192.168.2.11:8848
192.168.2.12:8848

  

3:將下面數據庫配置添加到conf/application.properties。

db.num=1
db.url.0=jdbc:mysql://192.168.2.12:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.database=nacos_config
db.user=root
db.password=password

技術分享圖片

4:將上面3個步驟分別在A,B,C機器上重復執行

5:數據庫配置。(虛擬機C

  安裝好MySQL數據庫後,創建一個nacos庫。然後導入nacos初始化sql,sql在 /app/nacos/conf/nacos-mysql.sql

技術分享圖片

技術分享圖片

  創建用戶並授權nacos庫給創建用戶,本實例已root用戶為例。

技術分享圖片

6:啟動A,B,C 三個節點的Nacos。

[[email protected] ~]# cd /app/nacos/
[[email protected] nacos]# /app/nacos/bin/startup.sh

  啟動日誌放在 /app/nacos/logs/start.out,查看是否啟動成功。

技術分享圖片

7:訪問

技術分享圖片

Nginx+Keepalived配置

1:nginx下載並解壓到/app,並添加配置。(A,B虛擬機都配置。

    upstream nacos-server{
        server 192.168.2.10:8848;
        server 192.168.2.11:8848;
        server 192.168.2.12:8848;
}


        location /nacos/ {
            proxy_pass http://nacos-server/nacos/;
}

  技術分享圖片

2:安裝keepalived,並作相應配置。(A:主,B:備VIP:192.168.2.111

keepalived配置:A(主)

[[email protected] conf]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
       [email protected]
   }
   notification_email_from [email protected]
   smtp_server smtp.qq.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script Monitor_Nginx {
         script "/home/scripts/monitor_nginx.sh"
         interval 2
         weight 2
}

vrrp_instance VI_1 {
        state MASTER
        interface ens192
        virtual_router_id 50
        mcast_src_ip 192.168.2.10
        priority 150
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 123456
        }

        track_script {
            Monitor_Nginx
        }
        virtual_ipaddress {
            192.168.2.111
        }
}

keepalived配置:B(備)

[[email protected] nacos]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
       [email protected]
   }
   notification_email_from [email protected]
   smtp_server smtp.qq.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script Monitor_Nginx {
         script "/home/scripts/monitor_nginx.sh"
         interval 2
         weight 2
}

vrrp_instance VI_2 {
        state BACKUP
        interface ens192
        virtual_router_id 50
        mcast_src_ip 192.168.2.11
        priority 50
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 123456
        }

        track_script {
            Monitor_Nginx
        }
        virtual_ipaddress {
            192.168.2.111
        }
}

3:啟動nginx和keepalived(A,B

[[email protected] conf]# /app/nginx/sbin/nginx
[[email protected] conf]# systemctl start keepalived

4:通過VIP訪問Nacos

技術分享圖片

Nacos 單機以及集群搭建