Nacos 單機以及集群搭建
前言
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 單機以及集群搭建