美文网首页
阿里nacos的使用笔记(一)

阿里nacos的使用笔记(一)

作者: JohnYuCN | 来源:发表于2020-09-19 19:59 被阅读0次

    一、定位:

    1. 它是一个Service的:注册发现管理、配置管理的服务器。
    2. 自身是用SpringBoot的完在的Java项目
    3. 有着“独立和集群”两种启动模式。
    4. 采用Derby(standalone模式)或Mysql(Cluster模式)做为持久化存储方案。
    5. 其管理的服务可以是:
      (1)SpringBoot微服务
      (2) K8S的Service
      (3)Doubbo的RPC Service

    二、安装与启停管理:

    1. 下载:
      可以从https://github.com/alibaba/nacos/releases进行下载,我采用的是1.3.2的最新版本。
    2. 解压,并观察目录结构
      核心为bin和conf目录
    3. 启动和停止
      启动:bash startup.sh -m standalone,此时8848端口打开,同时可以使用http://localhost:8848/nacos/index.html进入管理界面,使用nacos/nacos进行登录。
      停止: bash shutdown.sh
      到此,完成了独立运行,此时使用了内置的tomcat和derby。

    三、集群配置(单机版准备)

    1. 配置application.properties

    重新配置${nacos_home}/conf/application.properties文件:

    server.servlet.contextPath=/nacos
    server.port=8848
    # ============ 以下部分是配置的关键所在 =============================
    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user=johnn
    db.password=123
    # ============ 以上部分是配置的关键所在 =============================
    nacos.naming.empty-service.auto-clean=true
    nacos.naming.empty-service.clean.initial-delay-ms=50000
    nacos.naming.empty-service.clean.period-time-ms=30000
    management.metrics.export.elastic.enabled=false
    management.metrics.export.influx.enabled=false
    server.tomcat.accesslog.enabled=true
    server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
    server.tomcat.basedir=
    
    nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
    nacos.core.auth.system.type=nacos
    
    nacos.core.auth.enabled=false
    
    nacos.core.auth.default.token.expire.seconds=18000
    
    nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
    nacos.core.auth.caching.enabled=true
    
    nacos.istio.mcp.server.enabled=false
    

    2、准备数据 库和表

    mysql>create database nacos_config;
    mysql>use nancos_config
    mysql>source ../conf/nacos-mysql.sql
    

    3. 集群方式单机启动测试:

    bin/bash startup.sh
    

    如果没有问题,则可以进一步进行多机集群测试环境搭建。

    四、集群配置(多机版)

    1. 编辑集群配置文件conf/cluster.conf

    192.168.31.164:8848
    192.168.31.164:8849
    

    以上配置可以指定到同一个可用区的不同主机上(笔者对未做跨可用区的集群,希望有人能够补充)
    此时可以使用bin/bash startup.sh启动(此时是8848节点启动),可以在nacos管理界面的集群管理->节点列表中看到集群的情况。

    2. 启动8849节点。

    (1)方法一:
    复制一份nacos的安装文件,并发动application.properties,使用使用8849端口启动(注意:数据库配置应该和8848保持一致)。
    当然,也可以使用不同的主机或docker来完成,只要保证不同的ip:port组合。
    (2)方法二:
    改动bin/startup.sh启动脚本,使其加上-o 8849参数,文件改动如下:

    59  while getopts ":m:f:s:c:p:o:" opt
    60  do
    61     case $opt in
     62         m)
     63             MODE=$OPTARG;;
     64         f)
     65             FUNCTION_MODE=$OPTARG;;
     66         s)
     67             SERVER=$OPTARG;;
     68         c)
     69             MEMBER_LIST=$OPTARG;;
     70         p)
     71             EMBEDDED_STORAGE=$OPTARG;;
     72         o)
     73             PORT=$OPTARG;;
     74         ?)
     75         echo "Unknown parameter"
     76         exit 1;;
     77     esac
     78 done
    
    144 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
    

    文件的改动在59,72,73,144四行代码。
    此时可以使用bash startup.sh -o 8848bash startup.sh -o 8849启动nacos即可以完成测试了。

    相关文章

      网友评论

          本文标题:阿里nacos的使用笔记(一)

          本文链接:https://www.haomeiwen.com/subject/lehyyktx.html