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
[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
本文来自博客园,作者:鲜小橙,转载请注明原文链接:https://www.cnblogs.com/big-cousin/p/10871269.html