# 服务端配置 TDengine 系统后台服务由 taosd 提供,可以在配置文件 taos.cfg 里修改配置参数,以满足不同场景的需求。配置文件的缺省位置在/etc/taos 目录,可以通过 taosd 命令行执行参数-c 指定配置文件目录。比如 taosd -c /home/user 来指定配置文件位于/home/user 这个目录。 另外可以使用 “-C” 显示当前服务器配置参数: ``` taosd -C ``` 下面仅仅列出一些重要的配置参数,更多的参数请看配置文件里的说明。各个参数的详细介绍及作用请看前述章节,而且这些参数的缺省配置都是可以工作的,一般无需设置。 :::note 配置文件参数修改后,需要重启*taosd*服务,或客户端应用才能生效。 ::: 1. **firstEP** | 属性 | 说明 | | -------- | ----------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | taosd 启动时,主动连接的集群中首个 dnode 的 end point | | 缺省值 | localhost:6030 | 2. **secondEP** | 属性 | 说明 | | -------- | ---------------------------------------------------------------------------- | | 内部配置 | Yes | | 适用范围 | 服务端和客户端均适用 | | 含义 | taosd 启动时,如果 firstEp 连接不上,尝试连接集群中第二个 dnode 的 end point | | 缺省值 | 无 | 3. **fqdn** | 属性 | 说明 | | -------- | ----------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 数据节点的 FQDN。如果习惯 IP 地址访问,可设置为该节点的 IP 地址。 | | 缺省值 | 缺省为操作系统配置的第一个 hostname。 | | 补充说明 | 这个参数值的长度需要控制在 96 个字符以内。 | 4. **serverPort** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | taosd 启动后,对外服务的端口号 | | 缺省值 | 6030 | | 补充说明 | RESTful 服务使用的端口号是在此基础上+11,即默认值为 6041(注意 2.4 及后续版本使用 taosAdapter 提供 RESTful 接口)。 | 5. **logDir** | 属性 | 说明 | | -------- | -------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 日志文件目录,客户端和服务器的运行日志将写入该目录 | | 缺省值 | /var/log/taos | 6. **scriptDir** | 属性 | 说明 | | -------- | ------------ | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | | | 缺省值 | | 7. **dataDir** | 属性 | 说明 | | -------- | ------------------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 数据文件目录,所有的数据文件都将写入该目录 | | 缺省值 | /var/lib/taos | 8. **arbitrator** | 属性 | 说明 | | -------- | ------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 系统中裁决器的 end point | | 缺省值 | 空 | 9. **numOfThreadsPerCore** | 属性 | 说明 | | -------- | ----------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 每个 CPU 核生成的队列消费者线程数量 | | 缺省值 | 1.0 | 10. **ratioOfQueryThreads** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 设置查询线程的最大数量 | | 取值范围 | 0:表示只有 1 个查询线程
1:表示最大和 CPU 核数相等的查询线程
2:表示最大建立 2 倍 CPU 核数的查询线程。 | | 缺省值 | 1 | | 补充说明 | 该值可以为小数,即 0.5 表示最大建立 CPU 核数一半的查询线程。 | 11. **numOfMnodes** | 属性 | 说明 | | -------- | ------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 系统中管理节点个数 | | 缺省值 | 3 | 12. **vnodeBak** | 属性 | 说明 | | -------- | -------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 删除 vnode 时是否备份 vnode 目录 | | 取值范围 | 0:否,1:是 | | 缺省值 | 1 | 13. **telemetryRePorting** | 属性 | 说明 | | -------- | ---------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 是否允许 TDengine 采集和上报基本使用信息 | | 取值范围 | 0:不允许
1:允许 | | 缺省值 | 1 | 14. **balance** | 属性 | 说明 | | -------- | ---------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 是否启动负载均衡 | | 取值范围 | 0,1 | | 缺省值 | 1 | 15. **balanceInterval** | 属性 | 说明 | | -------- | ------------------------------------------------ | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | 管理节点在正常运行状态下,检查负载均衡的时间间隔 | | 单位 | 秒 | | 取值范围 | 1-30000 | | 缺省值 | 300 | 16. **role** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | dnode 的可选角色 | | 取值范围 | 0:any(既可作为 mnode,也可分配 vnode)
1:mgmt(只能作为 mnode,不能分配 vnode)
2:dnode(不能作为 mnode,只能分配 vnode) | | 缺省值 | 0 | 17. **maxTmerCtrl** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 定时器个数 | | 单位 | 个 | | 取值范围 | 8-2048 | | 缺省值 | 512 | 18. **monitorInterval** | 属性 | 说明 | | -------- | -------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 监控数据库记录系统参数(CPU/内存)的时间间隔 | | 单位 | 秒 | | 取值范围 | 1-600 | | 缺省值 | 30 | 19. **offlineThreshold** | 属性 | 说明 | | -------- | ------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | dnode 离线阈值,超过该时间将导致 dnode 离线 | | 单位 | 秒 | | 取值范围 | 5-7200000 | | 缺省值 | 86400\*10(10 天) | 20. **rpcTimer** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | rpc 重试时长 | | 单位 | 毫秒 | | 取值范围 | 100-3000 | | 缺省值 | 300 | 21. **rpcMaxTime** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | rpc 等待应答最大时长 | | 单位 | 秒 | | 取值范围 | 100-7200 | | 缺省值 | 600 | 22. **statusInterval** | 属性 | 说明 | | -------- | --------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | dnode 向 mnode 报告状态间隔 | | 单位 | 秒 | | 取值范围 | 1-10 | | 缺省值 | 1 | 23. **shellActivityTimer** | 属性 | 说明 | | -------- | --------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | shell 客户端向 mnode 发送心跳间隔 | | 单位 | 秒 | | 取值范围 | 1-120 | | 缺省值 | 3 | 24. **tableMetaKeepTimer** | 属性 | 说明 | | -------- | --------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 表的元数据 cache 时长 | | 单位 | 秒 | | 取值范围 | 1-8640000 | | 缺省值 | 7200 | 25. **minSlidingTime** | 属性 | 说明 | | -------- | ----------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 最小滑动窗口时长 | | 单位 | 毫秒 | | 取值范围 | 10-1000000 | | 缺省值 | 10 | | 补充说明 | 支持 us 补值后,这个值就是 1us 了。 | 26. **minIntervalTime** | 属性 | 说明 | | -------- | -------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 时间窗口最小值 | | 单位 | 毫秒 | | 取值范围 | 1-1000000 | | 缺省值 | 10 | 27. **stream** | 属性 | 说明 | | -------- | ------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 是否启用连续查询(流计算功能) | | 取值范围 | 0:不允许
1:允许 | | 缺省值 | 1 | 28. **maxStreamCompDelay** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 连续查询启动最大延迟 | | 单位 | 毫秒 | | 取值范围 | 10-1000000000 | | 缺省值 | 20000 | | 补充说明 | 为避免多个 stream 同时执行占用太多系统资源,程序中对 stream 的执行时间人为增加了一些随机的延时。
maxFirstStreamCompDelay 是 stream 第一次执行前最少要等待的时间。
streamCompDelayRatio 是延迟时间的计算系数,它乘以查询的 interval 后为延迟时间基准。
maxStreamCompDelay 是延迟时间基准的上限。
实际延迟时间为一个不超过延迟时间基准的随机值。
stream 某次计算失败后需要重试,retryStreamCompDelay 是重试的等待时间基准。
实际重试等待时间为不超过等待时间基准的随机值。 | 29. **maxFirstStreamCompDelay** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 第一次连续查询启动最大延迟 | | 单位 | 毫秒 | | 取值范围 | 10-1000000000 | | 缺省值 | 10000 | 30. **retryStreamCompDelay** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 连续查询重试等待间隔 | | 单位 | 毫秒 | | 取值范围 | 10-1000000000 | | 缺省值 | 10 | 31. **streamCompDelayRatio** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 连续查询的延迟时间计算系数 | | 取值范围 | 0.1-0.9 | | 缺省值 | 0.1 | 32. **maxVgroupsPerDb** | 属性 | 说明 | | -------- | ------------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 每个 DB 中 能够使用的最大 vnode 个数 | | 取值范围 | 0-8192 | | 缺省值 | | 33. **maxTablesPerVnode** | 属性 | 说明 | | -------- | --------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 每个 vnode 中能够创建的最大表个数 | | 缺省值 | 1000000 | 34. **minTablesPerVnode** | 属性 | 说明 | | -------- | --------------------------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | 每个 vnode 中必须创建的最小表个数 | | 缺省值 | 1000 | 35. **tableIncStepPerVnode** | 属性 | 说明 | | -------- | ----------------------------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | 每个 vnode 中超过最小表数后递增步长 | | 缺省值 | 1000 | 36. **cache** | 属性 | 说明 | | -------- | ------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 内存块的大小 | | 单位 | MB | | 缺省值 | 16 | 37. **blocks** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 每个 vnode(tsdb)中有多少 cache 大小的内存块。因此一个 vnode 的用的内存大小粗略为(cache \* blocks) | | 缺省值 | 6 | 38. **days** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 数据文件存储数据的时间跨度 | | 单位 | 天 | | 缺省值 | 10 | 39. **keep** | 属性 | 说明 | | -------- | -------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 数据保留的天数 | | 单位 | 天 | | 缺省值 | 3650 | 40. **minRows** | 属性 | 说明 | | -------- | ---------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 文件块中记录的最小条数 | | 缺省值 | 100 | 41. **maxRows** | 属性 | 说明 | | -------- | ---------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 文件块中记录的最大条数 | | 缺省值 | 4096 | 42. **quorum** | 属性 | 说明 | | -------- | -------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 多副本环境下指令执行的确认数要求 | | 取值范围 | 1,2 | | 缺省值 | 1 | 43. **comp** | 属性 | 说明 | | -------- | ----------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 文件压缩标志位 | | 取值范围 | 0:关闭,1:一阶段压缩,2:两阶段压缩 | | 缺省值 | 2 | 44. **walLevel** | 属性 | 说明 | | -------- | --------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | WAL 级别 | | 取值范围 | 1:写 wal, 但不执行 fsync
2:写 wal, 而且执行 fsync | | 缺省值 | 1 | 45. **fsync** | 属性 | 说明 | | -------- | -------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 当 wal 设置为 2 时,执行 fsync 的周期 | | 单位 | 毫秒 | | 取值范围 | 最小为 0,表示每次写入,立即执行 fsync
最大为 180000(三分钟) | | 缺省值 | 3000 | 46. **replica** | 属性 | 说明 | | -------- | ------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 副本个数 | | 取值范围 | 1-3 | | 缺省值 | 1 | 47. **mqttHostName** | 属性 | 说明 | | -------- | -------------------------------------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | mqtt uri | | 缺省值 | | | 补充说明 | mqtt://username:password@hostname:1883/taos/ | 48. **mqttPort** | 属性 | 说明 | | -------- | ---------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | mqtt client name | | 缺省值 | | | 补充说明 | 1883 | 49. **mqttTopic** | 属性 | 说明 | | -------- | ------------ | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | | | 缺省值 | | | 补充说明 | /test | 50. **compressMsgSize** | 属性 | 说明 | | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 客户端与服务器之间进行消息通讯过程中,对通讯的消息进行压缩的阈值。如果要压缩消息,建议设置为 64330 字节,即大于 64330 字节的消息体才进行压缩。 | | 单位 | bytes | | 取值范围 | `0 `表示对所有的消息均进行压缩 >0: 超过该值的消息才进行压缩 -1: 不压缩 | | 缺省值 | -1 | 51. **maxSQLLength** | 属性 | 说明 | | -------- | --------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | 单条 SQL 语句允许的最长限制 | | 单位 | bytes | | 取值范围 | 65480-1048576 | | 缺省值 | 1048576 | 52. **maxNumOfOrderedRes** | 属性 | 说明 | | -------- | -------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 支持超级表时间排序允许的最多记录数限制 | | 缺省值 | 10 万 | 53. **timezone** | 属性 | 说明 | | -------- | ------------------------------ | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 时区 | | 缺省值 | 从系统中动态获取当前的时区设置 | 54. **locale** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 系统区位信息及编码格式 | | 缺省值 | 系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过 API 设置 | 55. **charset** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 字符集编码 | | 缺省值 | 系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过 API 设置 | 56. **maxShellConns** | 属性 | 说明 | | -------- | ----------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 一个 dnode 容许的连接数 | | 取值范围 | 10-50000000 | | 缺省值 | 5000 | 57. **maxConnections** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 一个数据库连接所容许的 dnode 连接数 | | 取值范围 | 1-100000 | | 缺省值 | 5000 | | 补充说明 | 实际测试下来,如果默认没有配,选 50 个 worker thread 会产生 Network unavailable | 58. **minimalLogDirGB** | 属性 | 说明 | | -------- | -------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 当日志文件夹的磁盘大小小于该值时,停止写日志 | | 单位 | GB | | 缺省值 | 0.1 | 59. **minimalTmpDirGB** | 属性 | 说明 | | -------- | ------------------------------------------------ | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 当日志文件夹的磁盘大小小于该值时,停止写临时文件 | | 单位 | GB | | 缺省值 | 0.1 | 60. **minimalDataDirGB** | 属性 | 说明 | | -------- | ------------------------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 当日志文件夹的磁盘大小小于该值时,停止写时序数据 | | 单位 | GB | | 缺省值 | 0.1 | 61. **mnodeEqualVnodeNum** | 属性 | 说明 | | -------- | ---------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 一个 mnode 等同于 vnode 消耗的个数 | | 缺省值 | 4 | 62. **http** | 属性 | 说明 | | -------- | --------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 服务器内部的 http 服务开关。 | | 取值范围 | 0:关闭 http 服务, 1:激活 http 服务。 | | 缺省值 | 1 | 63. **mqtt** | 属性 | 说明 | | -------- | --------------------------------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | 服务器内部的 mqtt 服务开关。 | | 取值范围 | 0:关闭 mqtt 服务, 1:激活 mqtt 服务。 | | 缺省值 | 0 | 64. **monitor** | 属性 | 说明 | | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 服务器内部的系统监控开关。监控主要负责收集物理节点的负载状况,包括 CPU、内存、硬盘、网络带宽、HTTP 请求量的监控记录,记录信息存储在`LOG`库中。 | | 取值范围 | 0:关闭监控服务, 1:激活监控服务。 | | 缺省值 | 0 | 65. **httpEnableRecordSql** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 内部使用,记录通过 RESTFul 接口,产生的 SQL 调用。taosAdapter 配置或有不同,请参考相应[文档](https://www.taosdata.com/cn/documentation/tools/adapter)。 | | 缺省值 | 0 | | 补充说明 | 生成的文件(httpnote.0/httpnote.1),与服务端日志所在目录相同。 | 66. **httpMaxThreads** | 属性 | 说明 | | -------- | --------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | RESTFul 接口的线程数。taosAdapter 配置或有不同,请参考相应[文档](https://www.taosdata.com/cn/documentation/tools/adapter)。 | | 缺省值 | 2 | 67. **telegrafUseFieldNum** | 属性 | 说明 | | -------- | ---- | | 内部配置 | Yes | | 适用范围 | | | 含义 | | | 缺省值 | | 68. **restfulRowLimit** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | RESTFul 接口单次返回的记录条数。taosAdapter 配置或有不同,请参考相应[文档](https://www.taosdata.com/cn/documentation/tools/adapter)。 | | 缺省值 | 10240 | | 补充说明 | 最大 10,000,000 | 69. **numOfLogLines** | 属性 | 说明 | | -------- | ---------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 单个日志文件允许的最大行数。 | | 缺省值 | 10,000,000 | 70. **asyncLog** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 日志写入模式 | | 取值范围 | 0:同步、1:异步 | | 缺省值 | 1 | 71. **logKeepDays** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 日志文件的最长保存时间 | | 单位 | 天 | | 缺省值 | 0 | | 补充说明 | 大于 0 时,日志文件会被重命名为 taosdlog.xxx,其中 xxx 为日志文件最后修改的时间戳。 | 72. **debugFlag** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 运行日志开关 | | 取值范围 | 131(输出错误和警告日志),135(输出错误、警告和调试日志),143(输出错误、警告、调试和跟踪日志) | | 缺省值 | 131 或 135(不同模块有不同的默认值) | 73. **mDebugFlag** | 属性 | 说明 | | -------- | ------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 管理模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | 135 | 74. **dDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | dnode 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | 135 | 75. **sDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | sync 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | 135 | 76. **wDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | wal 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | 135 | 77. **sdbDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | sdb 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | 135 | 78. **rpcDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | rpc 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 79. **tmrDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 定时器模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 80. **cDebugFlag** | 属性 | 说明 | | -------- | --------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | client 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 81. **jniDebugFlag** | 属性 | 说明 | | -------- | ------------------ | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | jni 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 82. **odbcDebugFlag** | 属性 | 说明 | | -------- | ------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | odbc 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 83. **uDebugFlag** | 属性 | 说明 | | -------- | ---------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 共用功能模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 84. **httpDebugFlag** | 属性 | 说明 | | -------- | ------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | http 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 85. **mqttDebugFlag** | 属性 | 说明 | | -------- | ------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | mqtt 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 86. **monitorDebugFlag** | 属性 | 说明 | | -------- | ------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 监控模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 87. **qDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 查询模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 88. **vDebugFlag** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | vnode 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 89. **tsdbDebugFlag** | 属性 | 说明 | | -------- | ------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | TSDB 模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 90. **cqDebugFlag** | 属性 | 说明 | | -------- | ---------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 连续查询模块的日志开关 | | 取值范围 | 同上 | | 缺省值 | | 91. **tscEnableRecordSql** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | 是否记录客户端 sql 语句到文件 | | 取值范围 | 0:否,1:是 | | 缺省值 | 0 | | 补充说明 | 生成的文件(tscnote-xxxx.0/tscnote-xxx.1,xxxx 是 pid),与客户端日志所在目录相同。 | 92. **enableCoreFile** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 是否开启服务 crash 时生成 core 文件 | | 取值范围 | 0:否,1:是 | | 缺省值 | 1 | | 补充说明 | 不同的启动方式,生成 core 文件的目录如下:1、systemctl start taosd 启动:生成的 core 在根目录下
2、手动启动,就在 taosd 执行目录下。 | 93. **gitinfo** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | Yes | | 适用范围 | 服务端和客户端均适用 | | 含义 | | | 取值范围 | 1 | | 缺省值 | | 94. **gitinfoofInternal** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | Yes | | 适用范围 | 服务端和客户端均适用 | | 含义 | | | 取值范围 | 2 | | 缺省值 | | 95. **Buildinfo** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | Yes | | 适用范围 | 服务端和客户端均适用 | | 含义 | | | 取值范围 | 3 | | 缺省值 | | 96. **version** | 属性 | 说明 | | -------- | -------------------- | | 内部配置 | Yes | | 适用范围 | 服务端和客户端均适用 | | 含义 | | | 取值范围 | 4 | | 缺省值 | | 97. **maxBinaryDisplayWidth** | 属性 | 说明 | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | Taos shell 中 binary 和 nchar 字段的显示宽度上限,超过此限制的部分将被隐藏 | | 取值范围 | 5 - | | 缺省值 | 30 | | 补充说明 | 实际上限按以下规则计算:如果字段值的长度大于 maxBinaryDisplayWidth,则显示上限为 **字段名长度** 和 **maxBinaryDisplayWidth** 的较大者。
否则,上限为 **字段名长度** 和 **字段值长度** 的较大者。
可在 shell 中通过命令 set max_binary_display_width nn 动态修改此选项 | 98. **queryBufferSize** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 为所有并发查询占用保留的内存大小。 | | 单位 | MB | | 缺省值 | | | 补充说明 | 计算规则可以根据实际应用可能的最大并发数和表的数字相乘,再乘 170 。
(2.0.15 以前的版本中,此参数的单位是字节) | 99. **ratioOfQueryCores** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 设置查询线程的最大数量。 | | 缺省值 | | | 补充说明 | 最小值 0 表示只有 1 个查询线程
最大值 2 表示最大建立 2 倍 CPU 核数的查询线程。
默认为 1,表示最大和 CPU 核数相等的查询线程。
该值可以为小数,即 0.5 表示最大建立 CPU 核数一半的查询线程。 | 100. **update** | 属性 | 说明 | | -------- | ---------------------------------------------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 允许更新已存在的数据行 | | 取值范围 | 0:不允许更新
1:允许整行更新
2:允许部分列更新。(2.1.7.0 版本开始此参数支持设为 2,在此之前取值只能是 [0, 1]) | | 缺省值 | 0 | | 补充说明 | 2.0.8.0 版本之前,不支持此参数。 | 101. **cacheLast** | 属性 | 说明 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 是否在内存中缓存子表的最近数据 | | 取值范围 | 0:关闭
1:缓存子表最近一行数据
2:缓存子表每一列的最近的非 NULL 值
3:同时打开缓存最近行和列功能。(2.1.2.0 版本开始此参数支持 0 ~ 3 的取值范围,在此之前取值只能是 [0, 1]) | | 缺省值 | 0 | | 补充说明 | 2.1.2.0 版本之前、2.0.20.7 版本之前在 taos.cfg 文件中不支持此参数。 | 102. **numOfCommitThreads** | 属性 | 说明 | | -------- | ---------------------- | | 内部配置 | Yes | | 适用范围 | 仅服务端适用 | | 含义 | 设置写入线程的最大数量 | | 缺省值 | | 103. **maxWildCardsLength** | 属性 | 说明 | | -------- | ------------------------------------------ | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | 设定 LIKE 算子的通配符字符串允许的最大长度 | | 单位 | bytes | | 取值范围 | 0-16384 | | 缺省值 | 100 | | 补充说明 | 2.1.6.1 版本新增。 | 104. **compressColData** | 属性 | 说明 | | -------- | --------------------------------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 客户端与服务器之间进行消息通讯过程中,对服务器端查询结果进行列压缩的阈值。 | | 单位 | bytes | | 取值范围 | 0: 对所有查询结果均进行压缩 >0: 查询结果中任意列大小超过该值的消息才进行压缩 -1: 不压缩 | | 缺省值 | -1 | | 补充说明 | 2.3.0.0 版本新增。 | 105. **tsdbMetaCompactRatio** | 属性 | 说明 | | -------- | -------------------------------------------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | tsdb meta 文件中冗余数据超过多少阈值,开启 meta 文件的压缩功能 | | 取值范围 | 0:不开启,[1-100]:冗余数据比例 | | 缺省值 | 0 | 106. **rpcForceTcp** | 属性 | 说明 | | -------- | --------------------------------------------------- | | 内部配置 | No | | 适用范围 | 服务端和客户端均适用 | | 含义 | 强制使用 TCP 传输 | | 取值范围 | 0: 不开启 1: 开启 | | 缺省值 | 0 | | 补充说明 | 在网络比较差的环境中,建议开启。
2.0 版本新增。 | 107. **maxNumOfDistinctRes** | 属性 | 说明 | | -------- | -------------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 允许返回的 distinct 结果最大行数 | | 取值范围 | 默认值为 10 万,最大值 1 亿 | | 缺省值 | 10 万 | | 补充说明 | 2.3 版本新增。 | 108. **clientMerge** | 属性 | 说明 | | -------- | ---------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | 是否允许客户端对写入数据去重 | | 取值范围 | 0:不开启,1:开启 | | 缺省值 | 0 | | 补充说明 | 2.3 版本新增。 | 109. **httpDBNameMandatory** | 属性 | 说明 | | -------- | ---------------------------- | | 内部配置 | No | | 适用范围 | 仅服务端适用 | | 含义 | 是否在 URL 中输入 数据库名称 | | 取值范围 | 0:不开启,1:开启 | | 缺省值 | 0 | | 补充说明 | 2.3 版本新增。 | 110. **maxRegexStringLen** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 仅客户端适用 | | 含义 | 正则表达式最大允许长度 | | 取值范围 | 默认值 128,最大长度 16384 | | 缺省值 | 128 | | 补充说明 | 2.3 版本新增。 | 111. **lossyColumns** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 服务器端 | | 含义 | 配置要进行有损压缩的浮点数据类型 | | 取值范围 | 空字符串:关闭有损压缩 float:只对float类型进行有损压缩 double:只对double类型进行有损压缩 float|double:float double都进行有损压缩 | | 缺省值 | 128 | | 补充说明 | 有损压缩默认为关闭状态,只有配置后才生效 | 112. **fPrecision** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 服务器端 | | 含义 | 设置 float 类型浮点数压缩精度 | | 取值范围 | 0.1 ~ 0.00000001 | | 缺省值 | 0.00000001 | | 补充说明 | 小于此值的浮点数尾数部分将被截取 | 113. **dPrecision** | 属性 | 说明 | | -------- | -------------------------- | | 内部配置 | No | | 适用范围 | 服务器端 | | 含义 | 设置 double 类型浮点数压缩精度 | | 取值范围 | 0.1 ~ 0.0000000000000001 | | 缺省值 | 0.0000000000000001 | | 补充说明 | 小于此值的浮点数尾数部分将被截取 | :::note 对于端口,TDengine 会使用从 serverPort 起 13 个连续的 TCP 和 UDP 端口号,请务必在防火墙打开。因此如果是缺省配置,需要打开从 6030 到 6042 共 13 个端口,而且必须 TCP 和 UDP 都打开。(详细的端口情况请参见 [TDengine 2.0 端口说明](https://www.taosdata.com/cn/documentation/faq#port)) ::: 不同应用场景的数据往往具有不同的数据特征,比如保留天数、副本数、采集频次、记录大小、采集点的数量、压缩等都可完全不同。为获得在存储上的最高效率,TDengine 提供如下存储相关的系统配置参数(既可以作为 create database 指令的参数,也可以写在 taos.cfg 配置文件中用来设定创建新数据库时所采用的默认值): | **#** | **配置参数名称** | **单位** | **含义** | **取值范围** | **缺省值** | | ----- | ---------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------- | | 1 | days | 天 | 一个数据文件存储数据的时间跨度 | | 10 | | 2 | keep | 天 | (可通过 alter database 修改)数据库中数据保留的天数。 | 3650 | | 3 | cache | MB | 内存块的大小 | | 16 | | 4 | blocks | | (可通过 alter database 修改)每个 VNODE(TSDB)中有多少个 cache 大小的内存块。因此一个 VNODE 使用的内存大小粗略为(cache \* blocks)。 | | 6 | | 5 | quorum | | (可通过 alter database 修改)多副本环境下指令执行的确认数要求 | 1-2 | 1 | | 6 | minRows | | 文件块中记录的最小条数 | | 100 | | 7 | maxRows | | 文件块中记录的最大条数 | | 4096 | | 8 | comp | | (可通过 alter database 修改)文件压缩标志位 | 0:关闭,1:一阶段压缩,2:两阶段压缩 | 2 | | 9 | walLevel | | (作为 database 的参数时名为 wal;在 taos.cfg 中作为参数时需要写作 walLevel)WAL 级别 | 1:写 wal,但不执行 fsync;2:写 wal, 而且执行 fsync | 1 | | 10 | fsync | 毫秒 | 当 wal 设置为 2 时,执行 fsync 的周期。设置为 0,表示每次写入,立即执行 fsync。 | | 3000 | | 11 | replica | | (可通过 alter database 修改)副本个数 | 1-3 | 1 | | 12 | precision | | 时间戳精度标识(2.1.2.0 版本之前、2.0.20.7 版本之前在 taos.cfg 文件中不支持此参数。)(从 2.1.5.0 版本开始,新增对纳秒时间精度的支持) | ms 表示毫秒,us 表示微秒,ns 表示纳秒 | ms | | 13 | update | | 是否允许数据更新(从 2.1.7.0 版本开始此参数支持 0 ~ 2 的取值范围,在此之前取值只能是 [0, 1];而 2.0.8.0 之前的版本在 SQL 指令中不支持此参数。) | 0:不允许;1:允许更新整行;2:允许部分列更新。 | 0 | | 14 | cacheLast | | (可通过 alter database 修改)是否在内存中缓存子表的最近数据(从 2.1.2.0 版本开始此参数支持 0 ~ 3 的取值范围,在此之前取值只能是 [0, 1];而 2.0.11.0 之前的版本在 SQL 指令中不支持此参数。)(2.1.2.0 版本之前、2.0.20.7 版本之前在 taos.cfg 文件中不支持此参数。) | 0:关闭;1:缓存子表最近一行数据;2:缓存子表每一列的最近的非 NULL 值;3:同时打开缓存最近行和列功能 | 0 | 对于一个应用场景,可能有多种数据特征的数据并存,最佳的设计是将具有相同数据特征的表放在一个库里,这样一个应用有多个库,而每个库可以配置不同的存储参数,从而保证系统有最优的性能。TDengine 允许应用在创建库时指定上述存储参数,如果指定,该参数就将覆盖对应的系统配置参数。举例,有下述 SQL: ```mysql CREATE DATABASE demo DAYS 10 CACHE 32 BLOCKS 8 REPLICA 3 UPDATE 1; ``` 该 SQL 创建了一个库 demo, 每个数据文件存储 10 天数据,内存块为 32 兆字节,每个 VNODE 占用 8 个内存块,副本数为 3,允许更新,而其他参数与系统配置完全一致。 一个数据库创建成功后,仅部分参数可以修改并实时生效,其余参数不能修改: | **参数名** | **能否修改** | **范围** | **修改语法示例** | | ----------- | ------------ | ------------------------------------------ | -------------------------------------- | | name | | | | | create time | | | | | ntables | | | | | vgroups | | | | | replica | **YES** | 在线 dnode 数目为 1:1-1;2:1-2;>=3:1-3 | ALTER DATABASE REPLICA _n_ | | quorum | **YES** | 1-2 | ALTER DATABASE QUORUM _n_ | | days | | | | | keep | **YES** | days-365000 | ALTER DATABASE KEEP _n_ | | cache | | | | | blocks | **YES** | 3-1000 | ALTER DATABASE BLOCKS _n_ | | minrows | | | | | maxrows | | | | | wal | | | | | fsync | | | | | comp | **YES** | 0-2 | ALTER DATABASE COMP _n_ | | precision | | | | | status | | | | | update | | | | | cachelast | **YES** | 0 \| 1 \| 2 \| 3 | ALTER DATABASE CACHELAST _n_ | **说明:**在 2.1.3.0 版本之前,通过 ALTER DATABASE 语句修改这些参数后,需要重启服务器才能生效。 TDengine 集群中加入一个新的 dnode 时,涉及集群相关的一些参数必须与已有集群的配置相同,否则不能成功加入到集群中。会进行校验的参数如下: - numOfMnodes:系统中管理节点个数。默认值:3。(2.0 版本从 2.0.20.11 开始、2.1 及以上版本从 2.1.6.0 开始,numOfMnodes 默认值改为 1。) - mnodeEqualVnodeNum: 一个 mnode 等同于 vnode 消耗的个数。默认值:4。 - offlineThreshold: dnode 离线阈值,超过该时间将导致该 dnode 从集群中删除。单位为秒,默认值:86400\*10(即 10 天)。 - statusInterval: dnode 向 mnode 报告状态时长。单位为秒,默认值:1。 - maxTablesPerVnode: 每个 vnode 中能够创建的最大表个数。默认值:1000000。 - maxVgroupsPerDb: 每个数据库中能够使用的最大 vgroup 个数。 - arbitrator: 系统中裁决器的 end point,缺省为空。 - timezone、locale、charset 的配置见客户端配置。(2.0.20.0 及以上的版本里,集群中加入新节点已不要求 locale 和 charset 参数取值一致) - balance:是否启用负载均衡。0:否,1:是。默认值:1。 - flowctrl:是否启用非阻塞流控。0:否,1:是。默认值:1。 - slaveQuery:是否启用 slave vnode 参与查询。0:否,1:是。默认值:1。 - adjustMaster:是否启用 vnode master 负载均衡。0:否,1:是。默认值:1。 为方便调试,可通过 SQL 语句临时调整每个 dnode 的日志配置,系统重启后会失效: ```mysql ALTER DNODE ``` - dnode_id: 可以通过 SQL 语句"SHOW DNODES"命令获取 - config: 要调整的日志参数,在如下列表中取值 > resetlog 截断旧日志文件,创建一个新日志文件 > debugFlag < 131 | 135 | 143 > 设置 debugFlag 为 131、135 或者 143 例如: ``` alter dnode 1 debugFlag 135; ```