homework-jianmu/docs/zh/14-reference/12-config/index.md

50 KiB
Raw Blame History

title description
配置参数 TDengine 客户端和服务配置列表

为服务端指定配置文件

TDengine 系统后台服务由 taosd 提供,可以在配置文件 taos.cfg 里修改配置参数,以满足不同场景的需求。配置文件的缺省位置在/etc/taos 目录,可以通过 taosd 命令行执行参数 -c 指定配置文件目录。比如,指定配置文件位于/home/user 这个目录:

taosd -c /home/user

另外可以使用 -C 显示当前服务器配置参数:

taosd -C

为客户端指定配置文件

TDengine 系统的前台交互客户端应用程序为 taos以及应用驱动它可以与 taosd 共享同一个配置文件 taos.cfg也可以使用单独指定配置文件。运行 taos 时,使用参数-c 指定配置文件目录,如 taos -c /home/cfg表示使用/home/cfg/目录下的 taos.cfg 配置文件中的参数,缺省目录是/etc/taos。更多 taos 的使用方法请见帮助信息 taos --help

taos -C
taos --dump-config

配置参数详细列表

:::note 本节内容覆盖产品的配置参数,适用于服务端的参数按其对产品行为的影响进行分类,这其中有部分参数也同时适用于客户端;但有少量参数仅适用于客户端,这部分参数进行了单独归类。

:::

:::note 配置文件参数修改后,需要重启taosd服务,或客户端应用才能生效。

:::

连接相关

firstEp

属性 说明
适用范围 服务端和客户端均适用
含义 taosd 或者 taos 启动时,主动连接的集群中首个 dnode 的 endpoint
缺省值 localhost:6030

secondEp

属性 说明
适用范围 服务端和客户端均适用
含义 taosd 或者 taos 启动时,如果 firstEp 连接不上,尝试连接集群中第二个 dnode 的 endpoint
缺省值

fqdn

属性 说明
适用范围 仅服务端适用
含义 数据节点的 FQDN。如果习惯 IP 地址访问,可设置为该节点的 IP 地址。
缺省值 缺省为操作系统配置的第一个 hostname。
补充说明 这个参数值的长度需要控制在 96 个字符以内。

serverPort

属性 说明
适用范围 仅服务端适用
含义 taosd 启动后,对外服务的端口号
缺省值 6030

:::note 确保集群中所有主机在端口 6030 上的 TCP 协议能够互通。(详细的端口情况请参见下表) :::

协议 默认端口 用途说明 修改方法
TCP 6030 客户端与服务端之间通讯,多节点集群的节点间通讯。 由配置文件设置 serverPort 决定。
TCP 6041 客户端与服务端之间的 RESTful 通讯。 随 serverPort 端口变化。注意 taosAdapter 配置或有不同,请参考相应文档
TCP 6043 TaosKeeper 监控服务端口。 随 TaosKeeper 启动参数设置变化。
TCP 6044 支持 StatsD 的数据接入端口。 随 taosAdapter 启动参数设置变化
UDP 6045 支持 collectd 数据接入端口。 随 taosAdapter 启动参数设置变化
TCP 6060 企业版内 Monitor 服务的网络端口。

maxShellConns

属性 说明
适用范围 仅服务端适用
含义 一个 dnode 容许的连接数
取值范围 10-50000000
缺省值 5000

监控相关

monitor

属性 说明
适用范围 仅服务端适用
含义 服务器内部的系统监控开关。监控主要负责收集物理节点的负载状况,包括 CPU、内存、硬盘、网络带宽的监控记录监控信息将通过 HTTP 协议发送给由 monitorFqdnmonitorProt 指定的 TaosKeeper 监控服务
取值范围 0关闭监控服务 1激活监控服务。
缺省值 1

monitorFqdn

属性 说明
适用范围 仅服务端适用
含义 TaosKeeper 监控服务的 FQDN
缺省值

monitorPort

属性 说明
适用范围 仅服务端适用
含义 TaosKeeper 监控服务的端口号
缺省值 6043

monitorInterval

属性 说明
适用范围 仅服务端适用
含义 监控数据库记录系统参数CPU/内存)的时间间隔
单位
取值范围 1-200000
缺省值 30

telemetryReporting

属性 说明
适用范围 仅服务端适用
含义 是否允许 TDengine 采集和上报基本使用信息
取值范围 0不允许 1允许
缺省值 1

查询相关

queryPolicy

属性 说明
适用范围 仅客户端适用
含义 查询语句的执行策略
单位
缺省值 1
补充说明 1: 只使用 vnode不使用 qnode

2: 没有扫描算子的子任务在 qnode 执行,带扫描算子的子任务在 vnode 执行

3: vnode 只运行扫描算子,其余算子均在 qnode 执行 |

querySmaOptimize

属性 说明
适用范围 仅客户端适用
含义 sma index 的优化策略
单位
缺省值 0
补充说明

0: 表示不使用 sma index永远从原始数据进行查询

1: 表示使用 sma index对符合的语句直接从预计算的结果进行查询 |

maxNumOfDistinctRes

属性 说明
适用范围 仅服务端适用
含义 允许返回的 distinct 结果最大行数
取值范围 默认值为 10 万,最大值 1 亿
缺省值 10 万

keepColumnName

属性 说明
适用范围 仅客户端适用
含义 Last、First、LastRow 函数查询时,返回的列名是否包含函数名。
取值范围 0 表示包含函数名1 表示不包含函数名。
缺省值 0

区域相关

timezone

属性 说明
适用范围 服务端和客户端均适用
含义 时区
缺省值 从系统中动态获取当前的时区设置

:::info 为应对多时区的数据写入和查询问题TDengine 采用 Unix 时间戳(Unix Timestamp)来记录和存储时间戳。Unix 时间戳的特点决定了任一时刻不论在任何时区产生的时间戳均一致。需要注意的是Unix 时间戳是在客户端完成转换和记录。为了确保客户端其他形式的时间转换为正确的 Unix 时间戳,需要设置正确的时区。

在 Linux/macOS 中,客户端会自动读取系统设置的时区信息。用户也可以采用多种方式在配置文件设置时区。例如:

timezone UTC-8
timezone GMT-8
timezone Asia/Shanghai

均是合法的设置东八区时区的格式。但需注意Windows 下并不支持 timezone Asia/Shanghai 这样的写法,而必须写成 timezone UTC-8

时区的设置对于查询和写入 SQL 语句中非 Unix 时间戳的内容(时间戳字符串、关键词 now 的解析)产生影响。例如:

SELECT count(*) FROM table_name WHERE TS<'2019-04-11 12:01:08';

在东八区SQL 语句等效于

SELECT count(*) FROM table_name WHERE TS<1554955268000;

在 UTC 时区SQL 语句等效于

SELECT count(*) FROM table_name WHERE TS<1554984068000;

为了避免使用字符串时间格式带来的不确定性,也可以直接使用 Unix 时间戳。此外,还可以在 SQL 语句中使用带有时区的时间戳字符串例如RFC3339 格式的时间戳字符串2013-04-12T15:52:01.123+08:00 或者 ISO-8601 格式时间戳字符串 2013-04-12T15:52:01.123+0800。上述两个字符串转化为 Unix 时间戳不受系统所在时区的影响。

:::

locale

属性 说明
适用范围 服务端和客户端均适用
含义 系统区位信息及编码格式
缺省值 系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过 API 设置

:::info TDengine 为存储中文、日文、韩文等非 ASCII 编码的宽字符,提供一种专门的字段类型 nchar。写入 nchar 字段的数据将统一采用 UCS4-LE 格式进行编码并发送到服务器。需要注意的是,编码正确性是客户端来保证。因此,如果用户想要正常使用 nchar 字段来存储诸如中文、日文、韩文等非 ASCII 字符,需要正确设置客户端的编码格式。

客户端的输入的字符均采用操作系统当前默认的编码格式,在 Linux/macOS 系统上多为 UTF-8部分中文系统编码则可能是 GB18030 或 GBK 等。在 docker 环境中默认的编码是 POSIX。在中文版 Windows 系统中,编码则是 CP936。客户端需要确保正确设置自己所使用的字符集即客户端运行的操作系统当前编码字符集才能保证 nchar 中的数据正确转换为 UCS4-LE 编码格式。

在 Linux/macOS 中 locale 的命名规则为: <语言>_<地区>.<字符集编码> 如zh_CN.UTF-8zh 代表中文CN 代表大陆地区UTF-8 表示字符集。字符集编码为客户端正确解析本地字符串提供编码转换的说明。Linux/macOS 可以通过设置 locale 来确定系统的字符编码,由于 Windows 使用的 locale 中不是 POSIX 标准的 locale 格式,因此在 Windows 下需要采用另一个配置参数 charset 来指定字符编码。在 Linux/macOS 中也可以使用 charset 来指定字符编码。

:::

charset

属性 说明
适用范围 服务端和客户端均适用
含义 字符集编码
缺省值 系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过 API 设置

:::info 如果配置文件中不设置 charset在 Linux/macOS 中taos 在启动时候,自动读取系统当前的 locale 信息,并从 locale 信息中解析提取 charset 编码格式。如果自动读取 locale 信息失败,则尝试读取 charset 配置,如果读取 charset 配置也失败,则中断启动过程。

在 Linux/macOS 中locale 信息包含了字符编码信息,因此正确设置了 Linux/macOS 的 locale 以后可以不用再单独设置 charset。例如

locale zh_CN.UTF-8

在 Windows 系统中,无法从 locale 获取系统当前编码。如果无法从配置文件中读取字符串编码信息taos 默认设置为字符编码为 CP936。其等效在配置文件中添加如下配置

charset CP936

如果需要调整字符编码,请查阅当前操作系统使用的编码,并在配置文件中正确设置。

在 Linux/macOS 中,如果用户同时设置了 locale 和字符集编码 charset并且 locale 和 charset 的不一致,后设置的值将覆盖前面设置的值。

locale zh_CN.UTF-8
charset GBK

则 charset 的有效值是 GBK。

charset GBK
locale zh_CN.UTF-8

charset 的有效值是 UTF-8。

:::

存储相关

dataDir

属性 说明
适用范围 仅服务端适用
含义 数据文件目录,所有的数据文件都将写入该目录
缺省值 /var/lib/taos

minimalTmpDirGB

属性 说明
适用范围 服务端和客户端均适用
含义 当日志文件夹的磁盘大小小于该值时,停止写临时文件
单位 GB
缺省值 1.0

minimalDataDirGB

属性 说明
适用范围 仅服务端适用
含义 当日志文件夹的磁盘大小小于该值时,停止写时序数据
单位 GB
缺省值 2.0

集群相关

supportVnodes

属性 说明
适用范围 仅服务端适用
含义 dnode 支持的最大 vnode 数目
取值范围 0-4096
缺省值 CPU 核数的 2 倍

时间相关

statusInterval

属性 说明
适用范围 仅服务端适用
含义 dnode 向 mnode 报告状态间隔
单位
取值范围 1-10
缺省值 1

shellActivityTimer

属性 说明
适用范围 服务端和客户端均适用
含义 shell 客户端向 mnode 发送心跳间隔
单位
取值范围 1-120
缺省值 3

性能调优

numOfCommitThreads

属性 说明
适用范围 仅服务端适用
含义 设置写入线程的最大数量
缺省值

压缩相关

compressMsgSize

属性 说明
适用范围 仅服务端适用
含义 客户端与服务器之间进行消息通讯过程中,对通讯的消息进行压缩的阈值。如果要压缩消息,建议设置为 64330 字节,即大于 64330 字节的消息体才进行压缩。
单位 bytes
取值范围 0 表示对所有的消息均进行压缩 >0: 超过该值的消息才进行压缩 -1: 不压缩
缺省值 -1

compressColData

属性 说明
适用范围 仅服务端适用
含义 客户端与服务器之间进行消息通讯过程中,对服务器端查询结果进行列压缩的阈值。
单位 bytes
取值范围 0: 对所有查询结果均进行压缩 >0: 查询结果中任意列大小超过该值的消息才进行压缩 -1: 不压缩
缺省值 -1

日志相关

logDir

属性 说明
适用范围 服务端和客户端均适用
含义 日志文件目录,客户端和服务器的运行日志将写入该目录
缺省值 /var/log/taos

minimalLogDirGB

属性 说明
适用范围 服务端和客户端均适用
含义 当日志文件夹的磁盘大小小于该值时,停止写日志
单位 GB
缺省值 1.0

numOfLogLines

属性 说明
适用范围 服务端和客户端均适用
含义 单个日志文件允许的最大行数。
缺省值 10,000,000

asyncLog

属性 说明
适用范围 服务端和客户端均适用
含义 日志写入模式
取值范围 0同步、1异步
缺省值 1

logKeepDays

属性 说明
适用范围 服务端和客户端均适用
含义 日志文件的最长保存时间
单位
缺省值 0
补充说明 大于 0 时,日志文件会被重命名为 taosdlog.xxx其中 xxx 为日志文件最后修改的时间戳。

debugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 运行日志开关
取值范围 131输出错误和警告日志135输出错误、警告和调试日志143输出错误、警告、调试和跟踪日志
缺省值 131 或 135不同模块有不同的默认值

tmrDebugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 定时器模块的日志开关
取值范围 同上
缺省值

uDebugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 共用功能模块的日志开关
取值范围 同上
缺省值

rpcDebugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 rpc 模块的日志开关
取值范围 同上
缺省值

jniDebugFlag

属性 说明
适用范围 仅客户端适用
含义 jni 模块的日志开关
取值范围 同上
缺省值

qDebugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 query 模块的日志开关
取值范围 同上
缺省值

cDebugFlag

属性 说明
适用范围 仅客户端适用
含义 client 模块的日志开关
取值范围 同上
缺省值

dDebugFlag

属性 说明
适用范围 仅服务端适用
含义 dnode 模块的日志开关
取值范围 同上
缺省值 135

vDebugFlag

属性 说明
适用范围 仅服务端适用
含义 vnode 模块的日志开关
取值范围 同上
缺省值

mDebugFlag

属性 说明
适用范围 仅服务端适用
含义 mnode 模块的日志开关
取值范围 同上
缺省值 135

wDebugFlag

属性 说明
适用范围 仅服务端适用
含义 wal 模块的日志开关
取值范围 同上
缺省值 135

sDebugFlag

属性 说明
适用范围 服务端和客户端均适用
含义 sync 模块的日志开关
取值范围 同上
缺省值 135

tsdbDebugFlag

属性 说明
适用范围 仅服务端适用
含义 tsdb 模块的日志开关
取值范围 同上
缺省值

tqDebugFlag

属性 说明
适用范围 仅服务端适用
含义 tq 模块的日志开关
取值范围 同上
缺省值

fsDebugFlag

属性 说明
适用范围 仅服务端适用
含义 fs 模块的日志开关
取值范围 同上
缺省值

udfDebugFlag

属性 说明
适用范围 仅服务端适用
含义 UDF 模块的日志开关
取值范围 同上
缺省值

smaDebugFlag

属性 说明
适用范围 仅服务端适用
含义 sma 模块的日志开关
取值范围 同上
缺省值

idxDebugFlag

属性 说明
适用范围 仅服务端适用
含义 index 模块的日志开关
取值范围 同上
缺省值

tdbDebugFlag

属性 说明
适用范围 仅服务端适用
含义 tdb 模块的日志开关
取值范围 同上
缺省值

Schemaless 相关

smlChildTableName

属性 说明
适用范围 仅客户端适用
含义 schemaless 自定义的子表名
类型 字符串
缺省值

smlTagName

属性 说明
适用范围 仅客户端适用
含义 schemaless tag 为空时默认的 tag 名字
类型 字符串
缺省值 _tag_null

smlDataFormat

属性 说明
适用范围 仅客户端适用
含义 schemaless 列数据是否顺序一致
值域 0不一致1: 一致
缺省值 1

其他

enableCoreFile

属性 说明
适用范围 服务端和客户端均适用
含义 是否开启服务 crash 时生成 core 文件
取值范围 01
缺省值 1
补充说明 不同的启动方式,生成 core 文件的目录如下1、systemctl start taosd 启动:生成的 core 在根目录下
2、手动启动就在 taosd 执行目录下。

udf

属性 说明
适用范围 仅服务端适用
含义 是否启动 udf 服务
取值范围 0: 不启动1启动
缺省值 1

2.X 与 3.0 配置参数对比

:::note 对于 2.x 版本中适用但在 3.0 版本中废弃的参数,其当前行为会有特别说明

:::

# 参数 **适用于 2.X ** **适用于 3.0 ** 3.0 版本的当前行为
1 firstEp
2 secondEp
3 fqdn
4 serverPort
5 maxShellConns
6 monitor
7 monitorFqdn
8 monitorPort
9 monitorInterval
10 monitorMaxLogs
11 monitorComp
12 telemetryReporting
13 telemetryInterval
14 telemetryServer
15 telemetryPort
16 queryPolicy
17 querySmaOptimize
18 queryRsmaTolerance
19 queryBufferSize
20 maxNumOfDistinctRes
21 minSlidingTime
22 minIntervalTime
23 countAlwaysReturnValue
24 dataDir
25 minimalDataDirGB
26 supportVnodes
27 tempDir
28 minimalTmpDirGB
29 compressMsgSize
30 compressColData
31 smlChildTableName
32 smlTagName
33 smlDataFormat
34 statusInterval
35 shellActivityTimer
36 transPullupInterval
37 mqRebalanceInterval
38 ttlUnit
39 ttlPushInterval
40 numOfTaskQueueThreads
41 numOfRpcThreads
42 numOfCommitThreads
43 numOfMnodeReadThreads
44 numOfVnodeQueryThreads
45 numOfVnodeStreamThreads
46 numOfVnodeFetchThreads
47 numOfVnodeRsmaThreads
48 numOfQnodeQueryThreads
49 numOfQnodeFetchThreads
50 numOfSnodeSharedThreads
51 numOfSnodeUniqueThreads
52 rpcQueueMemoryAllowed
53 logDir
54 minimalLogDirGB
55 numOfLogLines
56 asyncLog
57 logKeepDays
60 debugFlag
61 tmrDebugFlag
62 uDebugFlag
63 rpcDebugFlag
64 jniDebugFlag
65 qDebugFlag
66 cDebugFlag
67 dDebugFlag
68 vDebugFlag
69 mDebugFlag
70 wDebugFlag
71 sDebugFlag
72 tsdbDebugFlag
73 tqDebugFlag
74 fsDebugFlag
75 udfDebugFlag
76 smaDebugFlag
77 idxDebugFlag
78 tdbDebugFlag
79 metaDebugFlag
80 timezone
81 locale
82 charset
83 udf
84 enableCoreFile
85 arbitrator 通过 RAFT 协议选主
86 numOfThreadsPerCore 有其它参数设置多种线程池的大小
87 numOfMnodes 通过 create mnode 命令动态创建 mnode
88 vnodeBak 3.0 行为未知
89 balance 负载均衡功能由 split/merge vgroups 实现
90 balanceInterval 随着 balance 参数失效
91 offlineThreshold 3.0 行为未知
92 role 由 supportVnode 决定是否能够创建
93 dnodeNopLoop 2.6 文档中未找到此参数
94 keepTimeOffset 2.6 文档中未找到此参数
95 rpcTimer 3.0 行为未知
96 rpcMaxTime 3.0 行为未知
97 rpcForceTcp 默认为 TCP
98 tcpConnTimeout 3.0 行为未知
99 syncCheckInterval 3.0 行为未知
100 maxTmrCtrl 3.0 行为未知
101 monitorReplica 由 RAFT 协议管理多副本
102 smlTagNullName 3.0 行为未知
103 keepColumnName 3.0 行为未知
104 ratioOfQueryCores 由 线程池 相关配置参数决定
105 maxStreamCompDelay 3.0 行为未知
106 maxFirstStreamCompDelay 3.0 行为未知
107 retryStreamCompDelay 3.0 行为未知
108 streamCompDelayRatio 3.0 行为未知
109 maxVgroupsPerDb 由 create db 的参数 vgroups 指定实际 vgroups 数量
110 maxTablesPerVnode DB 中的所有表近似平均分配到各个 vgroup
111 minTablesPerVnode DB 中的所有表近似平均分配到各个 vgroup
112 tableIncStepPerVnode DB 中的所有表近似平均分配到各个 vgroup
113 cache 由 buffer 代替 cache*blocks
114 blocks 由 buffer 代替 cache*blocks
115 days 由 create db 的参数 duration 取代
116 keep 由 create db 的参数 keep 取代
117 minRows 由 create db 的参数 minRows 取代
118 maxRows 由 create db 的参数 maxRows 取代
119 quorum 由 RAFT 协议决定
120 comp 由 create db 的参数 comp 取代
121 walLevel 由 create db 的参数 wal_level 取代
122 fsync 由 create db 的参数 wal_fsync_period 取代
123 replica 由 create db 的参数 replica 取代
124 partitions 3.0 行为未知
125 update 允许更新部分列
126 cachelast 由 create db 的参数 cacheModel 取代
127 maxSQLLength SQL 上限为 1MB无需参数控制
128 maxWildCardsLength 3.0 行为未知
129 maxRegexStringLen 3.0 行为未知
130 maxNumOfOrderedRes 3.0 行为未知
131 maxConnections 取决于系统配置和系统处理能力,详见后面的 Note
132 mnodeEqualVnodeNum 3.0 行为未知
133 http http 服务由 taosAdapter 提供
134 httpEnableRecordSql taosd 不提供 http 服务
135 httpMaxThreads taosd 不提供 http 服务
136 restfulRowLimit taosd 不提供 http 服务
137 httpDbNameMandatory taosd 不提供 http 服务
138 httpKeepAlive taosd 不提供 http 服务
139 enableRecordSql 3.0 行为未知
140 maxBinaryDisplayWidth 3.0 行为未知
141 stream 默认启用连续查询
142 retrieveBlockingModel 3.0 行为未知
143 tsdbMetaCompactRatio 3.0 行为未知
144 defaultJSONStrType 3.0 行为未知
145 walFlushSize 3.0 行为未知
146 keepTimeOffset 3.0 行为未知
147 flowctrl 3.0 行为未知
148 slaveQuery 3.0 行为未知: slave vnode 是否能够处理查询?
149 adjustMaster 3.0 行为未知
150 topicBinaryLen 3.0 行为未知
151 telegrafUseFieldNum 3.0 行为未知
152 deadLockKillQuery 3.0 行为未知
153 clientMerge 3.0 行为未知
154 sdbDebugFlag 参考 3.0 的 DebugFlag 系列参数
155 odbcDebugFlag 参考 3.0 的 DebugFlag 系列参数
156 httpDebugFlag 参考 3.0 的 DebugFlag 系列参数
157 monDebugFlag 参考 3.0 的 DebugFlag 系列参数
158 cqDebugFlag 参考 3.0 的 DebugFlag 系列参数
159 shortcutFlag 参考 3.0 的 DebugFlag 系列参数
160 probeSeconds 3.0 行为未知
161 probeKillSeconds 3.0 行为未知
162 probeInterval 3.0 行为未知
163 lossyColumns 3.0 行为未知
164 fPrecision 3.0 行为未知
165 dPrecision 3.0 行为未知
166 maxRange 3.0 行为未知
167 range 3.0 行为未知