【Nacos】 系统参数说明

Metadata

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/falsefalse>= 0.1.0
nacos.functionMode(-D)启动模式,支持只启动某一个模块,不设置时所有模块都会启动config/naming / 空>= 0.9.0
nacos.inetutils.prefer-hostname-over-ipcluster.conf里是否应该填hostnametrue/falsefalse>= 0.3.0
nacos.inetutils.ip-address本机 IP,该参数设置后,将会使用这个 IP 去cluster.conf里进行匹配,请确保这个 IP 的值在cluster.conf里是存在的本机 IPnull>= 0.3.0

Naming 模块

参数名含义可选值默认值支持版本
nacos.naming.data.warmup是否在 Server 启动时进行数据预热true/falsefalse>= 1.0.2
nacos.naming.expireInstance是否自动摘除临时实例true/falsetrue>= 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.connectionTimeoutdb.pool.config.maximumPoolSize字符串同 hikariCp 对应默认配置>=1.4.1

当前数据库配置支持多数据源。通过db.num来指定数据源个数,db.url.index为对应的数据库的链接。db.user以及db.password没有设置index时, 所有的链接都以db.userdb.password用作认证。如果不同数据源的用户名称或者用户密码不一样时,可以通过符号,来进行切割,或者指定db.user.index,db.user.password来设置对应数据库链接的用户或者密码。需要注意的是,当db.userdb.password没有指定下标时,因为当前机制会根据,进行切割。所以当用户名或者密码存在,时,会把,切割后前面的值当成最后的值进行认证,会导致认证失败。

Nacos 从 1.3 版本开始使用 HikariCP 连接池,但在 1.4.1 版本前,连接池配置由系统默认值定义,无法自定义配置。在 1.4.1 后,提供了一个方法能够配置 HikariCP 连接池。 db.pool.config为配置前缀,xxx为实际的 hikariCP 配置,如db.pool.config.connectionTimeoutdb.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是否打开 CMDBtrue/falsefalse>= 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命名空间的 IDconfig 模块为空,naming 模块为 public>= 0.8.0
serverAddrNacos Server 的地址列表,这个值的优先级比 endpoint 高ip:port,ip:port,...>= 0.1.0
JM.LOG.PATH(-D)客户端日志的目录目录路径用户根目录>= 0.1.0

Naming 客户端

参数名含义可选值默认值支持版本
namingLoadCacheAtStart启动时是否优先读取本地缓存true/falsefalse>= 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)是否打开 HTTPStrue/falsefalse>= 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