【Nacos】 系统参数说明
title: 【Nacos】 系统参数说明
date: 2023-01-04 15:28
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/Nacos/运维手册
categories:
- Nacos
keywords:
- Nacos
description: 【Nacos】 系统参数说明
Nacos Server
对于 Server 端来说,一般是设置在{nacos.home}/conf/application.properties
里,如果参数名后标注了 (-D) 的,则表示是 JVM 的参数,需要在{nacos.home}/bin/startup.sh
里进行相应的设置。例如像设置 nacos.home 的值,可以在{nacos.home}/bin/startup.sh
进行如下设置:
JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"
全局参数
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
nacos.home(-D) | Nacos 的根目录 | 目录路径 | Nacos 安装的目录 | >= 0.1.0 |
nacos.standalone(-D) | 是否在单机模式 | true/false | false | >= 0.1.0 |
nacos.functionMode(-D) | 启动模式,支持只启动某一个模块,不设置时所有模块都会启动 | config/naming / 空 | 空 | >= 0.9.0 |
nacos.inetutils.prefer-hostname-over-ip | cluster.conf 里是否应该填hostname | true/false | false | >= 0.3.0 |
nacos.inetutils.ip-address | 本机 IP,该参数设置后,将会使用这个 IP 去cluster.conf 里进行匹配,请确保这个 IP 的值在cluster.conf 里是存在的 | 本机 IP | null | >= 0.3.0 |
Naming 模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
nacos.naming.data.warmup | 是否在 Server 启动时进行数据预热 | true/false | false | >= 1.0.2 |
nacos.naming.expireInstance | 是否自动摘除临时实例 | true/false | true | >= 1.0.2 |
nacos.naming.distro.taskDispatchPeriod | 同步任务生成的周期,单位为毫秒 | 正整数 | 2000 | >= 1.0.2 |
nacos.naming.distro.batchSyncKeyCount | 同步任务每批的 key 的数目 | 正整数 | 1000 | >= 1.0.2 |
nacos.naming.distro.syncRetryDelay | 同步任务失败的重试间隔,单位为毫秒 | 正整数 | 5000 | >= 1.0.2 |
除了上面列到的在application.properties
里配置的属性,还有一些可以在运行时调用接口来进行调节,这些参数都在 Open API 里的查看系统当前数据指标
这个 API 里有声明。
Config 模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
db.num | 数据库数目 | 正整数 | 0 | >= 0.1.0 |
db.url.0 | 第一个数据库的 URL | 字符串 | 空 | >= 0.1.0 |
db.url.1 | 第二个数据库的 URL | 字符串 | 空 | >= 0.1.0 |
db.user | 数据库连接的用户名 | 字符串 | 空 | >= 0.1.0 |
db.password | 数据库连接的密码 | 字符串 | 空 | >= 0.1.0 |
spring.datasource.platform | 数据库类型 | 字符串 | mysql | >=1.3.0 |
db.pool.config.xxx | 数据库连接池参数,使用的是 hikari 连接池,参数与 hikari 连接池相同,如db.pool.config.connectionTimeout 或db.pool.config.maximumPoolSize | 字符串 | 同 hikariCp 对应默认配置 | >=1.4.1 |
当前数据库配置支持多数据源。通过db.num
来指定数据源个数,db.url.index
为对应的数据库的链接。db.user
以及db.password
没有设置index
时, 所有的链接都以db.user
和db.password
用作认证。如果不同数据源的用户名称或者用户密码不一样时,可以通过符号,
来进行切割,或者指定db.user.index
,db.user.password
来设置对应数据库链接的用户或者密码。需要注意的是,当db.user
和db.password
没有指定下标时,因为当前机制会根据,
进行切割。所以当用户名或者密码存在,
时,会把,
切割后前面的值当成最后的值进行认证,会导致认证失败。
Nacos 从 1.3 版本开始使用 HikariCP 连接池,但在 1.4.1 版本前,连接池配置由系统默认值定义,无法自定义配置。在 1.4.1 后,提供了一个方法能够配置 HikariCP 连接池。 db.pool.config
为配置前缀,xxx
为实际的 hikariCP 配置,如db.pool.config.connectionTimeout
或db.pool.config.maximumPoolSize
等。更多 hikariCP 的配置请查看 HikariCP 需要注意的是,url,user,password 会由db.url.n
,db.user
,db.password
覆盖,driverClassName 则是默认的 MySQL8 driver(该版本 mysql driver 支持 mysql5.x)
CMDB 模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
nacos.cmdb.loadDataAtStart | 是否打开 CMDB | true/false | false | >= 0.7.0 |
nacos.cmdb.dumpTaskInterval | 全量 dump 的间隔,单位为秒 | 正整数 | 3600 | >= 0.7.0 |
nacos.cmdb.eventTaskInterval | 变更事件的拉取间隔,单位为秒 | 正整数 | 10 | >= 0.7.0 |
nacos.cmdb.labelTaskInterval | 标签集合的拉取间隔,单位为秒 | 正整数 | 300 | >= 0.7.0 |
Nacos Java Client
TODO: 单独一篇文档,放在用户指南中
客户端的参数分为两种,一种是通过 - D 参数进行指定的配置,一种是构造客户端时,通过Properties
对象指定的配置,以下没有带 - D 标注的都是通过Properties
注入的配置。
通用参数
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
endpoint | 连接 Nacos Server 指定的连接点,可以参考文档 | 域名 | 空 | >= 0.1.0 |
endpointPort | 连接 Nacos Server 指定的连接点端口,可以参考文档 | 合法端口号 | 空 | >= 0.1.0 |
namespace | 命名空间的 ID | 命名空间的 ID | config 模块为空,naming 模块为 public | >= 0.8.0 |
serverAddr | Nacos Server 的地址列表,这个值的优先级比 endpoint 高 | ip:port,ip:port,... | 空 | >= 0.1.0 |
JM.LOG.PATH(-D) | 客户端日志的目录 | 目录路径 | 用户根目录 | >= 0.1.0 |
Naming 客户端
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
namingLoadCacheAtStart | 启动时是否优先读取本地缓存 | true/false | false | >= 1.0.0 |
namingCacheRegistryDir | 指定缓存子目录,位置为 .../nacos/{SUB_DIR}/naming | 子目录路径 | 空字符串 | >=2.0.2 |
namingClientBeatThreadCount | 客户端心跳的线程池大小 | 正整数 | 机器的 CPU 数的一半 | >= 1.0.0 |
namingPollingThreadCount | 客户端定时轮询数据更新的线程池大小 | 正整数 | 机器的 CPU 数的一半 | >= 1.0.0 |
com.alibaba.nacos.naming.cache.dir(-D) | 客户端缓存目录 | 目录路径 | {user.home}/nacos/naming | >= 1.0.0 |
com.alibaba.nacos.naming.log.level(-D) | Naming 客户端的日志级别 | info,error,warn 等 | info | >= 1.0.0 |
com.alibaba.nacos.client.naming.tls.enable(-D) | 是否打开 HTTPS | true/false | false | >= 1.0.0 |
Config 客户端
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
---|
configLongPollTimeout(config.long-poll.timeout 1.0.1 版本) | 长轮询的超时时间,单位为毫秒 | 正整数 | 30000 | >= 1.0.2 |
configRetryTime(config.retry.time 1.0.1 版本) | 长轮询任务重试时间,单位为毫秒 | 正整数 | 2000 | >= 1.0.2 |
maxRetry | 长轮询的重试次数 | 正整数 | 3 | >= 1.0.2 |
enableRemoteSyncConfig | 监听器首次添加时拉取远端配置 | 布尔值 | false | >= 1.0.2 |
com.alibaba.nacos.config.log.level(-D) | Config 客户端的日志级别 | info,error,warn 等 | info | >= 1.0.0 |
JM.SNAPSHOT.PATH(-D) | 客户端缓存目录 | 目录路径 | {user.home}/nacos/config | >= 1.0.0 |