zoukankan      html  css  js  c++  java
  • nacos集群部署安装

    集群模式部署

    这个快速开始手册是帮忙您快速在你的电脑上,下载安装并使用Nacos,部署生产使用的集群模式。

    集群部署架构图

    因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面

    http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

    http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。

    http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式

    为了实现第三种方式,先得将nacos集群安装,后面再增加一个域名,用nginx来做负载,才能实现。

    安装步骤:

    1、 预备环境准备

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

    1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
    2. 64 bit JDK 1.8+;
    3. 3个或3个以上Nacos节点才能构成集群。
    4. maven安装,在3.2以上,这个主要是用来若下载源码的打包,若是直接下载安装压缩包,则可以不用

    2、下载源码或者安装包

    你可以通过两种方式来获取 Nacos。

    从 Github 上下载源码方式

    unzip nacos-source.zip
    cd nacos/
    mvn -Prelease-nacos clean install -U  
    cd nacos/distribution/target/nacos-server-1.3.0/nacos/bin

    下载编译后压缩包方式

    下载地址

    https://github.com/alibaba/nacos/releases/tag/1.3.2

    我是下载编译安装包来测试的,刚开始下载了2.0版本,测试时为最新版本,后面发现有些问题,查询网上说建议安装稳定版本,故调整为1.3.2版本,1.4.0版本也是可以。

    3. 配置集群配置文件

    我现在是计划用三台虚拟机来实现集群,IP分别为:192.168.31.50;192.168.31.51;192.168.31.52

    下载的压缩文件为:nacos-server-1.3.2.tar.gz,使用解压命令解压:

    cd /software/
    tar -zxvf nacos-server-1.3.2.tar.gz
    cd /nacos/

    解压后进入nacos目录内容以下:

     进入nacos/conf/目录下,将文件cluster.conf.example,拷贝一份命名为cluster.conf,添加集群内容如下

     然后,将这份文件拷贝到三台服务器上

    因为我的数据库是使用外部服务器的数据库,故需修改数据库配置,修改内容以下:

    进入nacos/conf目录下,修改application.properties文件,开启以下内容:

     在修改以上配置后,需根据nacos/conf/nacos-mysql.sql文件,在数据库服务器上创建数据库nacos_conf后,执行这个SQL文件

     这些修改成功后,保存退出编辑配置文件,将这个配置文件拷贝到其它集群机器上。

    最后就是启动服务了,进入nacos/bin目录下,启动startup.sh

     这样就启动成功,结果如下:

    日志内容以下图所示表示启动正常:

    注意事项:

    1、我集群用到的服务端口是8847,所以需在防火墙中开放这个端口

    firewall-cmd --zone=public --add-port=8847/tcp --permanent

    2、对于数据库服务器也要开放3306端口:以下为linux数据库服务器的处理,若是windows,则是在防火墙中添加端口允许即可

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    或下图:

    3、在开放8847端口后,但发现日志文件/nacos/logs/naming-server.log文件一起在增加,内容是提示“找不到主机的路由”,在网上核查原因说是防火墙关闭就可以解决,我尝试关闭防火墙后,确实解决了问题,说明是端口未开放引起的问题,因为我更改了默认服务端口:8848,所以我又在集群各服务器上开放了商品8848,这个问题就消失了,具体原因还没查清,但遇到这个问题可以这样处理。

    firewall-cmd --zone=public --add-port=8848/tcp --permanent

    4、开启集群一台机器后,数据库提示:“too many connections",原因是数据库服务器开启一台nacos服务后,会有20多个服务器连接到数据库,而自己数据库服务器默认连接才20,所以提示这个问题,

    修改数据库服务器配置:

     另外查询数据库的现有连接,可以使用以下命令:show status like  like '%Threads%';

     现在每个nacos集群结点都可以正常访问了,下一步就开始安装nginx

    1、找一台服务器用于安装nginx服务器,我的是IP:192.168.31.60

    2、安装java环境

    3、安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

    4、安装PCRE 作用是让 Nginx 支持 Rewrite 功能

    •   下载PCRE,地址:https://sourceforge.net/projects/pcre/files/pcre/,下载最新版本的,当前是8.44版本,下载页面以下:
    •  下载成功后,上传到服务器的目录:/usr/local/src/

    • 进入这个目录后解压文件:tar -zxvf pcre-8.44.tar.gz
    • 进入安装包目录:cd pcre-8.44
    • 编译安装: ./configure      make && make install
    • 安装成功后,可以查看相应的版本:pcre-config --version

    5、下载nginx文件,下载地址:http://nginx.org/en/download.html,我下载的是最新版本:nginx-1.19.6

    6、下载的文件上传到服务器的目录:/usr/local/src/nginx-1.19.6.tar.gz

    7、解压文件:tar -zxvf /usr/local/src/nginx-1.19.6.tar.gz

    8、解压成功后,进入安装包目录:cd nginx-1.19.6

    9、编译安装

    [root@bogon nginx-1.19.6]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.44
    [root@bogon nginx-1.19.6]# make
    [root@bogon nginx-1.19.6]# make install

    10、安装成功后,就可以进入目录: cd /usr/local/webserver/nginx/sbin,再使用下面命令进行启动或停止nginx:

     命令如下:

    [root@nginx1_64 sbin]# ./nginx -s stop
    [root@nginx1_64 sbin]# ./nginx 
    [root@nginx1_64 sbin]# ./nginx -s reload
    [root@nginx1_64 sbin]# ./nginx -s reopen 
    [root@nginx1_64 sbin]# 

    11、因为我们的nacos是集群,所以对配置文件需调整:

    调整内容有:

      upstream cluster{
             server 192.168.31.50:8847;
             server 192.168.31.51:8847;
             server 192.168.31.52:8847; 
    
        }
    
    
     location / {
           proxy_pass http://cluster;
            }

    截图如下:

     再使用命令:进入目录 :/usr/local/webserver/nginx/sbin,使用命令:./nginx -s reload,重新加载配置文件

    12、现在通过IP就可以访问nacos的集群信息,若有自己的域名就可以将上面的server_name换成域名即可,再通过域名访问就可以了,我是使用了www.123.com来测试,当然自己访问的电脑要给这个域名设置映射,即修改hosts文件;

     现在nacos的集群配置就全部配置完成了,接下来就是在springcloud项目中使用的内容了。

     
    **************只要学不死就往死里学!************
  • 相关阅读:
    使用NBU进行oracle异机恢复
    mycat偶尔会出现JVM报错double free or corruption并崩溃退出
    exp导出数据时丢表
    service_names配置不正确,导致dg创建失败
    XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
    HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
    java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
    【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版
    java内部类深入详解 内部类的分类 特点 定义方式 使用
    再谈包访问权限 子类为何不能使用父类protected方法
  • 原文地址:https://www.cnblogs.com/lxhaaron/p/14231092.html
Copyright © 2011-2022 走看看