0


nacos集群搭建

在官方文档上面就有结束搭建nacos是介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EDc38kQO-1658024265324)(E:\Java笔记\image\springcloud_alibaba\image-20220607204317083.png)]

官方文档提供了一个Nacos集群的架构图,当我们访问Nacos时,首先会经过SLB,也就是负载均衡,通常是一个nginx,通过nginx来进行分发到具体的Nacos服务器上面。我们需要给不同的服务器进行部署Nacos,我们这里演示的是一个伪的集群,在一台服务器上面搭建三个Nacos。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y85gywwV-1658024265326)(E:\Java笔记\image\springcloud_alibaba\image-20220607204458873.png)]

1. 环境准备

请确保是在环境中安装使用:

  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
  2. 64 bit JDK 1.8+;下载.配置。
  3. Maven 3.2.x+;下载.配置。
  4. 3个或3个以上Nacos节点才能构成集群。

2. Nocas下载https://github.com/alibaba/nacos/releases

将下载好的安装包上传到linux服务器上并进行解压

[root@VM-8-14-centos nacos]# tar -zxvf nacos-server-1.4.1.tar.gz [root@VM-8-14-centos nacos]# ll
drwxr-xr-x 5 root root     4096 Jun  720:39 nacos
-rw-r--r-- 1 root root 79052411 Jun  720:39 nacos-server-1.4.1.tar.gz

# 将解压后的nacos目录改一个名字,并复制三份,目录名结尾加一个端口[root@VM-8-14-centos nacos]# mv nacos nacos8849[root@VM-8-14-centos nacos]# cp -r nacos8849/ nacos8850[root@VM-8-14-centos nacos]# cp -r nacos8849/ nacos8851[root@VM-8-14-centos nacos]# ll
drwxr-xr-x 5 root root     4096 Jun  720:39 nacos8849
drwxr-xr-x 5 root root     4096 Jun  720:50 nacos8850
drwxr-xr-x 5 root root     4096 Jun  720:50 nacos8851
-rw-r--r-- 1 root root 79052411 Jun  720:39 nacos-server-1.4.1.tar.gz

配置集群配置文件

在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FsGGhwoD-1658024265327)(E:\Java笔记\image\springcloud_alibaba\image-20220607205219195.png)]

# 创建cluster.conf文件[root@VM-8-14-centos conf]# vim cluster.conf# 输入以下内容,如果是真实的生产环境就配置各个服务器的ip和端口114.132.75.63:8849
114.132.75.63:8850
114.132.75.63:8851

确定数据源

为什么需要将数据源配置成mysql数据库嘞?

这是因为nacos默认的数据源是使用的内置数据源,是存在内存中的,那么我们启动nacos集群的时候内存中的数据肯定就不能共享了,到时候我们的数据进行注册的话就会注册到各自的Nacos服务器中,这也就会造成数据不一致。为了保证数据一致性就需要将数据源改为数据库。

我们首先需要安装好数据库,然后创建一个数据库,然后执行安装包中提供的sql脚本,这个sql脚本只是一些建表语句,所以需要我们先创建一个数据库,需要注意mysql需要使用5.7+以上的版本,如果用低版本的mysql在执行sql脚本的时候可能会报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NhF8Crk1-1658024265328)(E:\Java笔记\image\springcloud_alibaba\image-20220607205607821.png)]

执行完sql脚本之后,编辑

conf/application.properties

文件,修改的内容如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eCpjKS5n-1658024265331)(E:\Java笔记\image\springcloud_alibaba\image-20220607210743969.png)]

修改启动脚本

我们还需要修改

bin/startup.sh 

启动脚本,因为如果是以集群的方式启动,Nacos默认占用的内存是2G,如果服务器的内存足够大可以不进行修改。

[root@VM-8-14-centos nacos8849]# vim bin/startup.sh 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WvGq36gl-1658024265333)(E:\Java笔记\image\springcloud_alibaba\image-20220607211313713.png)]

修改完成之后就可以启动了

[root@VM-8-14-centos nacos8849]# bin/startup.sh 

启动完成后,最后一行日志提示可以让我们去查看日志文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j6uyicAW-1658024265334)(E:\Java笔记\image\springcloud_alibaba\image-20220607211551492.png)]

现在就可以在Nacos管理界面进行查看集群管理了,因为我现在只是启动了一台Nacos,所以其他两台是down

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHa6LyE6-1658024265335)(E:\Java笔记\image\springcloud_alibaba\image-20220607211902709.png)]

然后再将刚刚修改的三个地方在另外两个nacos目录中也进行相应的修改。并启动这三个nacos。现在随便访问一个nacos的管理界面都可以看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DfzCFsv8-1658024265336)(E:\Java笔记\image\springcloud_alibaba\image-20220607212040917.png)]

启动完成之后有一个问题,我们的服务应该如何写,Nacos Client到底写这三个Nacos服务中的哪一个嘞?

其实我们写任何一个都不行,因为这样就又像是单机了,其实我还需要安装一个nginx,用nginx来进行负载均衡,我们使用nginx代理的一个地址。

在nginx的配置文件

nginx.conf

进行如下的修改

# 定义一个upstream,然后定义别名,再定义要进行负载均衡的ip
    upstream nacoscluster {
        server 127.0.0.1:8849;
        server 127.0.0.1:8850;
        server 127.0.0.1:8851;}

    server {
        listen       8847;  
        server_name  localhost;# 这里判断的uri是因为nacos服务启动的conf/application.peoperties配置文件中指定的一个默认访问前缀,如下图所示
        location /nacos/ {
            proxy_pass    http://nacoscluster/nacos/;}}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uqsetu0s-1658024265337)(E:\Java笔记\image\springcloud_alibaba\image-20220607212745559.png)]

然后在nacos client中的配置文件写nginx的代理地址

server:port:8084spring:application:name: stock-service
  cloud:nacos:# 指定Nacos服务的地址server-addr: 114.132.75.63:8847discovery:username: nacos
        password: nacos
        namespace: public

nacos是支持多数据中心的,我们是多集群,我们可以如下所示的参数来进行设置,如果是单集群就没必要设置了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEghrA6i-1658024265338)(E:\Java笔记\image\springcloud_alibaba\image-20220607213406430.png)]

这里的集群对应的是服务实例详情页面中最下方的集群。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tvu7fBDL-1658024265339)(E:\Java笔记\image\springcloud_alibaba\image-20220607195630857.png)]

标签: centos linux 服务器

本文转载自: https://blog.csdn.net/qq_44027353/article/details/125828993
版权归原作者 胡尚 所有, 如有侵权,请联系我们删除。

“nacos集群搭建”的评论:

还没有评论