zoukankan      html  css  js  c++  java
  • Windows系统中Nacos的下载安装及使用

    首先什么是 Nacos

    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

    下载Nacos(linux/windows版): https://github.com/alibaba/nacos/releases

    说明:可根据自己的需要下载对应的版本,从官网下载太慢,可以直接下载这个1.2.1版本

    链接:https://pan.baidu.com/s/11feU1I1z8A3JkE55UnWE2w

    提取码:fvwz

    说明:1.4.0以下使用的mysql驱动是8.0以下的,1.4.0以上使用的驱动就是8.0以上的了,所以在家在使用的nacos的时候要注意与mysql的对应版本问题,

    否则会因为nacos与mysql的版本不对应导致的nacos无法加载数据源。

    下载完Windows版解压后我们可以看看目录结构:

    解压后用 cmd 进入解压后的bin目录,运行startup.cmd启动nacos,或者直接双击运行startup.cmd

    或者执行命令:startup.cmd -m standalone 其中-m standalone指定为单机模式,否则以cluster集群模式启动。

    如果启动报错,可以修改启动文件startup.sh中的 cluster 修改为standalone;比如修改成:export MODE="standalone"

    windows系统种则把启动文件startup.cmd中的 cluster 修改为standalone;比如修改成:set MODE="standalone"

    这里我们启动成功了,启动失败后窗口会一闪而过。

    说明:运行nacos需要先安装jdk并配置系统环境JAVA_HOME。

    启动nacos服务后,默认端口8848,访问地址:http://localhost:8848/nacos/index.html

    登陆账号和密码默认都是 nacos

    上面直接运行startup.cmd 方式启动服务,如果将命令窗口关闭后,服务就停了,因为这种方式启动的服务没有注册到Windows服务中。

    下面介绍windows服务注册作为参考,我们可以注册nacos服务:

    1、安装服务

    sc create test3 binPath= "C:\Users\Administrator\Desktop\win32srvDemo\win32srvdemo\Debug\win32srvDemo.exe"  

    其中:test3为创建的服务名,binPath后面是运行exe文件的所在路径

    2、配置服务

    有以下集中方式:

    sc config 服务名 start= AUTO    (自动)

    sc config 服务名 start= DEMAND   (手动)

    sc config 服务名 start= DISABLED   (禁用)

    例如下面的命令,在XP系统中开机便会自动启动:

    sc config test3 start= AUTO  

    3、开启服务

    net start test3  

    4、停止服务 

    net stop test3

    5、删除服务

    sc delete test3

    为方便使用,可编辑为bat批处理文件 (新建一个txt文件,自己命名,把后缀改为.bat文件)

    1、创建、配置、开启服务,文件命名为start.bat 

    @echo.服务启动......  
    @echo off  
    @sc create nacos binPath="D:\Program Files\nacos\bin\startup.cmd"
    @net start nacos
    @sc config nacos start= AUTO  
    @echo off  
    @echo.启动完毕!  
    @pause  

    2、关闭服务,文件命名为stop.bat

    @echo.服务关闭  
    @echo off  
    @net stop nacos
    @echo off  
    @echo.关闭结束!  
    @pause  

    3、删除服务,文件命名为delete.bat

    @echo.服务删除 
    @echo off 
    @sc delete nacos
    @echo off 
    @echo.删除结束! 
    @pause

    nacos 持久化切换配置

    nacos信息使用嵌入式数据库derby实现持久化,现在将其切换成mysql

    1. 安装mysql数据库,版本要求:5.6.5+

    2. 初始化mysql数据库,数据库初始化文件:nacos-mysql.sql

    3. 创建数据库:nacos_config,将该sql文件内容执行

    4. 配置数据库连接,修改conf文件夹里面的配置文件application.properties,添加mysql数据源的url、用户名和密码。

    5. 重启nacos

    1.4.1版本配置文件部分内容如: 

    #
    # Copyright 1999-2018 Alibaba Group Holding Ltd.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #      http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    
    #*************** Spring Boot Related Configurations ***************#
    ### Default web context path:
    server.servlet.contextPath=/nacos
    ### Default web server port:
    server.port=8848
    
    #*************** Network Related Configurations ***************#
    ### If prefer hostname over ip for Nacos server addresses in cluster.conf:
    # nacos.inetutils.prefer-hostname-over-ip=false
    
    ### Specify local server's IP:
    # nacos.inetutils.ip-address=
    
    
    #*************** Config Module Related Configurations ***************#
    ### If use MySQL as datasource:
    spring.datasource.platform=mysql
    
    ### Count of DB:
    db.num=1
    
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://192.168.3.200:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=winmysql_123zm
    
    ### Connection pool configuration: hikariCP
    db.pool.config.connectionTimeout=30000
    db.pool.config.validationTimeout=10000
    db.pool.config.maximumPoolSize=20
    db.pool.config.minimumIdle=2
    
    #*************** Naming Module Related Configurations ***************#
    ### Data dispatch task execution period in milliseconds:
    # nacos.naming.distro.taskDispatchPeriod=200
    
    ### Data count of batch sync task:
    # nacos.naming.distro.batchSyncKeyCount=1000
    
    ### Retry delay in milliseconds if sync task failed:
    # nacos.naming.distro.syncRetryDelay=5000
    
    ### If enable data warmup. If set to false, the server would accept request without local data preparation:
    # nacos.naming.data.warmup=true
    
    ### If enable the instance auto expiration, kind like of health check of instance:
    # nacos.naming.expireInstance=true
    View Code

    下面是我安装nacos过程中遇到的问题和注意事项: 

    说明:1.4.0以下使用的mysql驱动是8.0以下的,1.4.0以上使用的驱动就是8.0以上的了,所以在家在使用的nacos的时候要注意与mysql的对应版本问题,
    否则会因为nacos与mysql的版本不对应导致的nacos无法加载数据源。
    
    修改conf下面的application.properties里面属性后,就可以去bin文件夹下用管理员命令窗口运行startup.cmd或者直接双击启动服务
    访问 localhost:8848/nacos/index.html登陆
    nacos 默认账户、密码均为:nacos
    登录之后可进行密码修改
    
    本版本为nacos-server-1.4.1
    安装路径要注意不要出现中文或者数字否则启动不了,会提示“此时不应有 \nacos-server-1.4.1\nacos"\logs\java_heapdump.hprof"。”
    
    启动时报错,提示“Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!”
    原因是1.查看jdk配置环境 , 2.系统环境配置JAVA_HOME
    3. 然后要注意在Path系统变量里面需要添加环境变量路径为%JAVA_HOME%\bin
    
    nacos启动报错,nacos默认是以集群方式启动的,所以需要把启动文件startup.sh中的 cluster 修改为standalone;比如修改成:export MODE="standalone"
    windows系统种则把启动文件startup.cmd中的 cluster 修改为standalone;比如修改成:set MODE="standalone"
    View Code

    常见问题

    nacos无法修改保存数据,控制台报错:org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [INSERT into permissions (role, resource, action) VALUES (?, ?, ?)]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server

    描述:项目采用nacos+mysql来保存读取配置文件,在nacos中修改配置信息.提示报错.显示的当前只能读,不能写

    问题原因:nacos与mysql8.0版本冲突导致的,nacos的jdbc版本太低,需要改动源码,和你的mysql版本一致

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

    随后cmd到源码所在根目录

    mvn -Prelease-nacos clean install -U

    然后打包出现错误

    com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor

    该文件下的

    import com.mysql.cj.jdbc.jdbc2.optional.MysqlDataSource;

    出现错误,更改为

    import com.mysql.cj.jdbc.MysqlDataSource;

    即可,然后打包 运行 成功

  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/li150dan/p/15169718.html
Copyright © 2011-2022 走看看