Nacos 單機以及集羣搭建

前言

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

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

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

環境準備

 

  工做目錄 /appmysql

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

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

單機模式

單機啓動以A虛擬機作示例github

 1:啓動

  單機啓動不須要什麼配置,只須要JDK1.8+支持,數據庫由內置數據庫進行存儲,也能夠使用MySQL數據庫。默認啓動端口爲8848,若是須要修改端口,修改conf/application.properties 中的server.port項。sql

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

[root@node1 conf]# cp cluster.conf.example cluster.conf

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

[root@node1 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。

[root@node1 ~]# cd /app/nacos/
[root@node1 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(主)

[root@node1 conf]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
       admin@test.com
   }
   notification_email_from admin@test.com
   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(備)

[root@node2 nacos]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
       admin@test.com
   }
   notification_email_from admin@test.com
   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

[root@node1 conf]# /app/nginx/sbin/nginx
[root@node1 conf]# systemctl start keepalived

4:經過VIP訪問Nacos

相關文章
相關標籤/搜索