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 {
       [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(备)

[root@node2 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

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

4:通过VIP访问Nacos

猜你喜欢

转载自www.cnblogs.com/big-cousin/p/10871269.html