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

    下面仅仅列出一些重要的配置参数,更多的参数请看配置文件里的说明。各个参数的详细介绍及作用请看前述章节,而且这些参数的缺省配置都是工作的,一般无需设置。注意:配置修改后,需要重启taosd服务才能生效。

    • firstEp: taosd启动时,主动连接的集群中首个dnode的end point, 默认值为localhost:6030。
    • fqdn:数据节点的FQDN,缺省为操作系统配置的第一个hostname。如果习惯IP地址访问,可设置为该节点的IP地址。
    • serverPort:taosd启动后,对外服务的端口号,默认值为6030。
    • httpPort: RESTful服务使用的端口号,所有的HTTP请求(TCP)都需要向该接口发起查询/写入请求, 默认值为6041。
    • dataDir: 数据文件目录,所有的数据文件都将写入该目录。默认值:/var/lib/taos。
    • logDir:日志文件目录,客户端和服务器的运行日志文件将写入该目录。默认值:/var/log/taos。
    • arbitrator:系统中裁决器的end point, 缺省值为空。
    • role:dnode的可选角色。0-any; 既可作为mnode,也可分配vnode;1-mgmt;只能作为mnode,不能分配vnode;2-dnode;不能作为mnode,只能分配vnode
    • debugFlag:运行日志开关。131(输出错误和警告日志),135( 输出错误、警告和调试日志),143( 输出错误、警告、调试和跟踪日志)。默认值:131或135(不同模块有不同的默认值)。
    • numOfLogLines:单个日志文件允许的最大行数。默认值:10,000,000行。
    • logKeepDays:日志文件的最长保存时间。大于0时,日志文件会被重命名为taosdlog.xxx,其中xxx为日志文件最后修改的时间戳,单位为秒。默认值:0天。
    • maxSQLLength:单条SQL语句允许最长限制。默认值:65380字节。
    • stream: 是否启用连续查询(流计算功能),0表示不允许,1表示允许。 默认值:1。
    • queryBufferSize: 为所有并发查询占用保留的内存大小。计算规则可以根据实际应用可能的最大并发数和表的数字相乘,再乘 170 。单位为 MB(2.0.15 以前的版本中,此参数的单位是字节)。
    • ratioOfQueryCores: 设置查询线程的最大数量。最小值0 表示只有1个查询线程;最大值2表示最大建立2倍CPU核数的查询线程。默认为1,表示最大和CPU核数相等的查询线程。该值可以为小数,即0.5表示最大建立CPU核数一半的查询线程。

    注意:对于端口,TDengine会使用从serverPort起13个连续的TCP和UDP端口号,请务必在防火墙打开。因此如果是缺省配置,需要打开从6030到6042共13个端口,而且必须TCP和UDP都打开。

    • days:一个数据文件存储数据的时间跨度,单位为天,默认值:10。
    • keep:数据库中数据保留的天数,单位为天,默认值:3650。
    • minRows:文件块中记录的最小条数,单位为条,默认值:100。
    • maxRows:文件块中记录的最大条数,单位为条,默认值:4096。
    • comp:文件压缩标志位,0:关闭;1:一阶段压缩;2:两阶段压缩。默认值:2。
    • walLevel:WAL级别。1:写wal,但不执行fsync;2:写wal, 而且执行fsync。默认值:1。
    • fsync:当wal设置为2时,执行fsync的周期。设置为0,表示每次写入,立即执行fsync。单位为毫秒,默认值:3000。
    • cache:内存块的大小,单位为兆字节(MB),默认值:16。
    • blocks:每个VNODE(TSDB)中有多少cache大小的内存块。因此一个VNODE的用的内存大小粗略为(cache * blocks)。单位为块,默认值:4。
    • precision:时间戳精度标识,ms表示毫秒,us表示微秒。默认值:ms
    • cacheLast:是否在内存中缓存子表 last_row,0:关闭;1:开启。默认值:0。(从 2.0.11 版本开始支持此参数)

    对于一个应用场景,可能有多种数据特征的数据并存,最佳的设计是将具有相同数据特征的表放在一个库里,这样一个应用有多个库,而每个库可以配置不同的存储参数,从而保证系统有最优的性能。TDengine允许应用在创建库时指定上述存储参数,如果指定,该参数就将覆盖对应的系统配置参数。举例,有下述SQL:

    该SQL创建了一个库demo, 每个数据文件存储10天数据,内存块为32兆字节,每个VNODE占用8个内存块,副本数为3,允许更新,而其他参数与系统配置完全一致。

    TDengine集群中加入一个新的dnode时,涉及集群相关的一些参数必须与已有集群的配置相同,否则不能成功加入到集群中。会进行校验的参数如下:

    • numOfMnodes:系统中管理节点个数。默认值:3。
    • balance:是否启动负载均衡。0:否,1:是。默认值: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 的配置见客户端配置。
    • dnode_id: 可以通过SQL语句”SHOW DNODES”命令获取

    例如: