zoukankan      html  css  js  c++  java
  • Alibaba SpringCloud (一) Nacos 集群环境搭建

    什么是Nacos

    用官网原话是,Nacos致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 其实就是一个注册中心,与Google的Zookeeper, 携程的Apollo, Netflix的Eureka一样。

    Nacos集群搭建(本章主要讲在Window环境下的搭建,以1.2.1版本为例。后期补Linux版本)

    1、单节点搭建

    第一步:通过官网下载Nacos的源码包:https://github.com/alibaba/Nacos/releases

    第二步:解压zip放到自己喜欢的安装目录下,进入到nacosconf 目录下修改application.properties 配置文件

    备注:我查看Wiki 显示在1.2.0有对mysql8.0 错误的修复,仔细查阅后发现并没有。所以我们的MySQL如果是5.6+的版本那么直接配置即可,如果是MySQL8.0+ 则需要自己打包,具体的操作在文章后续会详细说明。

    ### Default web context path:
    server.servlet.contextPath=/nacos
    ### Default web server port:
    server.port=8849
    
    ### If user MySQL as datasource:
    spring.datasource.platform=mysql
    
    ### Count of DB:
    db.num=1
    
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?serverTimezone=UTC&characterEncoding=utf-8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=root

    第三步:进入到nacosconf 目录下,根据自己实际情况选择执行相应的SQL文件,我这里选择的是nacos-mysql.sql

    第四步:通过nacosinstartup.cmd 启动,启动成功后会看到一个Nacos的访问路径,输入用户名密码nacos/nacos 登陆即可

     2、集群环境的搭建

    第一步:依旧是通过官网下载Nacos的源码包:https://github.com/alibaba/Nacos/releases

    第二步:依旧是解压zip放到自己喜欢的安装目录下,进入到nacosconf 目录下修改application.properties 配置文件

    第三步:依旧是进入到nacosconf 目录下,根据自己实际情况选择执行相应的SQL文件

    第四步:进入到nacosconf 目录下创建一个cluster.conf 文件,在这个文件中配置我们的集群信息

    备注:这个地方的IP不能为127.0.0.1,否则会报错。

    169.254.154.176:8848
    169.254.154.176:8849
    169.254.154.176:8850

    第五步:将你修改好的安装包,根据自己的集群数进行复制(我这里有三个,所以复制三遍)。根据自己的集群配置,分别修改application.properties 文件中的端口号

    第六步:通过命令startup.cmd -m cluster 启动集群

    备注:单节点的启动命令为 startup.cmd -m standalone

     在搭建过程中遇到的一些坑

     1、Nacos 不知道Mysql 8.0+, 需要我们自己去下载源码打包

    第一步:下载源码修改pom文件,根据我们自己本地版本引入不同的版本驱动

    <!-- JDBC libs -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <!--<version>5.1.34</version>-->
        <version>8.0.15</version>
    </dependency>

    第二步:修改com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor 类的引用

    备注:代码中不能出现失效的引用,注释也不行,在打包的过程中会检查报错。错误在对应的pmd.xml文件中显示。

    // MysqlHealthCheckProcessor类第24行,将原引用替换
    import com.mysql.cj.jdbc.MysqlDataSource;

    第三步:在pom文件中去除对test模块的引用

    第四步:打开cmd 进入源代码所在目录,输入mvn -Prelease-nacos clean install -U -X 命令执行打包

     第五步:进入nacos-1.2.1distribution arget 文件夹就能看到我们打的最新包啦

    2、 Nacos的单节点和集群的启动命令

    进入文件夹反键查看nacosinstartup.cmd 文件就懂了。MODE默认参数为"standalone",所以我们双击startup.cmd 永远执行的都是单节点。

    另外在集群模式下,Xms、Xmx的默认配置为2g,Xmn的默认配置为1g,我们需要根据自己电脑的实际情况进行修改。

    3、 启动报错 Failed to create database 'nacosdataderby-data', see the next exception for details.

    删除nacosdata目录下的数据文件即可,这种一般是配置文件错误,执行了错误的sql

  • 相关阅读:
    redis的发布与订阅机制
    三次握手与四次挥手详解
    super的实例及实现原理
    【node.js】入门篇
    简单理解什么是数据库CDC?(以mysql为例)
    Java小工具类(一)json的K-V转换为Java类属性
    linux系统文件拷贝命令rsync
    linux系统配置常用命令top
    关于ganymed-ssh2版本262和build210的SCPClient类的区别
    阿里巴巴java-数据库开发手册(2020泰山版)
  • 原文地址:https://www.cnblogs.com/jiangyaxiong1990/p/12953908.html
Copyright © 2011-2022 走看看