TDengine 配置详解 — taos.cfg 关键参数全解读

分类:12.运维 | 篇章:02 配置
在这里插入图片描述
免费详情


taos.cfg 是 TDengine 服务端和客户端的核心配置文件。本文按类别详解关键参数、默认值、调优建议、生效方式。

配置类别速查

类别代表参数
网络firstEp, fqdn, serverPort
存储dataDir, logDir
集群numOfMnodes, supportVnodes
性能numOfRpcSessions, queryPolicy
日志logKeepDays, debugFlag
TMQtmqMaxTopicNum
监控monitor, monitorInterval
客户端locale, timezone, charset

详细解析

1. 网络与节点身份

# 集群第一个节点的 EP
firstEp        node1:6030

# 本节点 FQDN(必须能被其他节点解析)
fqdn           node1.example.com

# 服务端口
serverPort     6030

# 内部端口范围(自动占用)
# serverPort + 0~10 用于 RPC, sync, sma 等
# serverPort + 11+ 自动分配


# taosAdapter 端口(独立进程)
# HTTP/WS    6041
# Stat        6044
# Influxdb    6045
# Telnet      6046
# Collectd    6047

2. 存储与目录

# 数据目录(可多个,提升 I/O)
dataDir        /var/lib/taos 0

# 多盘配置(level, primary)
dataDir        /data1/td 0 1
dataDir        /data2/td 0 0
dataDir        /data3/td 0 0
# level: 0=hot, 1=warm, 2=cold(多级存储)
# primary: 1=元数据存放


# 日志目录
logDir         /var/log/taos

# 临时目录(查询/导入用)
tempDir        /tmp/taos


# 日志保留
numOfLogLines  10000000     # 单文件行数
logKeepDays    30           # 日志保留天数

3. 集群参数

# MNode 数量(仲裁)
numOfMnodes    3

# 单 dnode 支持的 VNode 数
supportVnodes  256

# VNode 资源限制
numOfCommitThreads  4   # commit 线程数

4. 内存与性能

# RPC 会话数
numOfRpcSessions 30000
numOfRpcThreads  10

# 提交相关
mnodeEqualVnodeNum 4    # mnode 资源权重

# 缓存
cache          16        # 单 VNode 数据缓存(MB)

# 查询策略
queryPolicy    1
# 1: vnode 内执行(默认)
# 2: 优先 qnode
# 3: 强制 qnode

# 查询并发
numOfTaskQueueThreads  4

5. 写入相关

# WAL(每库可覆盖)
walFsyncPeriod   3000      # fsync 周期(ms)
walLevel         2         # 1=异步, 2=同步

# Flush
flushPeriod      60        # 强制 flush 间隔(s)
maxRowsInFileBlock 4096    # 块行数
minRowsInFileBlock 100

# Compaction
compactRowSize   8         # KB

6. 日志与调试

# 主日志级别
debugFlag      131
# 131: error+warn
# 135: + info
# 143: + debug
# 199: + trace(极详细)

# 各模块独立日志
dDebugFlag      131    # dnode
mDebugFlag      131    # mnode
vDebugFlag      131    # vnode
qDebugFlag      131    # query
sDebugFlag      131    # sync
tsdbDebugFlag   131    # tsdb
rpcDebugFlag    131    # rpc
uDebugFlag      131    # util
jniDebugFlag    131    # jni
cDebugFlag      131    # client

# 监控日志
monitor        1
monitorInterval 30        # 秒
monitorFqdn     taoskeeper
monitorPort     6043

7. 安全相关

# 加密(视版本/企业版)
enableWhiteList  0
encryptPasswordEnabled 0

# 审计(企业版)
audit          0

# TLS(视支持)
tlsEnabled    0

8. 客户端配置

# 区域与字符
locale         en_US.UTF-8
charset        UTF-8
timezone       Asia/Shanghai

# 客户端连接
firstEp        production-cluster:6030
secondEp       backup-cluster:6030
fqdn           client-host

# 行为
maxNumOfDistinctRes  10000000   # DISTINCT 上限
queryRspPolicy      0

代码示例

生产配置模板(dnode)

# /etc/taos/taos.cfg

# === 网络 ===
firstEp        node1:6030
fqdn           node1.example.com
serverPort     6030

# === 存储 ===
dataDir        /data1/td 0 1
dataDir        /data2/td 0 0
logDir         /var/log/taos
numOfLogLines  10000000
logKeepDays    30

# === 集群 ===
numOfMnodes    3
supportVnodes  256

# === 性能 ===
numOfRpcSessions 30000
numOfRpcThreads  10
numOfCommitThreads 4

# === 写入 ===
walLevel        2
walFsyncPeriod  3000

# === 监控 ===
monitor         1
monitorInterval 30
monitorFqdn     taoskeeper
monitorPort     6043

# === 调试 ===
debugFlag       131

# === 客户端 ===
locale          en_US.UTF-8
charset         UTF-8
timezone        Asia/Shanghai

生产配置模板(taosAdapter)

# /etc/taos/taosadapter.toml

debug = false
taosConfigDir = "/etc/taos"

[cors]
allowAllOrigins = true

[pool]
maxConnect = 4000
maxIdle = 4000
idleTimeout = "1h"

[ssl]
enable = false
certFile = ""
keyFile = ""

[log]
path = "/var/log/taos"
rotationCount = 30
rotationSize = "1GB"
level = "info"

[monitor]
collectDuration = "3s"
incgroup = false
writeToTD = true

[opentsdb_telnet]
enable = true

动态修改配置

-- 不重启动态生效
ALTER DNODE 1 'debugFlag' '143';     -- 改某节点
ALTER ALL DNODES 'debugFlag' '131';  -- 改所有节点


-- 查看配置
SHOW VARIABLES;
SELECT * FROM information_schema.ins_configs;

性能考量

关键调优参数

场景参数调整
高并发查询numOfRpcThreads20+
高并发查询queryPolicy2/3 (用 qnode)
高吞吐写入numOfCommitThreads8
多盘 IOdataDir多个
大数据量walLevel1 (异步)
长保留日志logKeepDays90

内存使用估算

单 vnode 内存 ≈ buffer + cache + 元数据
3 节点 24 VGroup × REPLICA 3 = 72 vnode 实例
每个 vnode ~ 50~200 MB
总内存:3.6 GB ~ 14 GB

FAQ

Q1: 修改配置要重启吗?

部分可 ALTER DNODE 动态生效(如 debugFlag)。涉及内存/网络的需重启。

Q2: 多盘 dataDir 性能提升多少?

视磁盘类型与负载。机械盘 2~3x,NVMe SSD 提升较小(已不是瓶颈)。

Q3: walLevel 选 1 还是 2?

  • walLevel=2(同步):宕机不丢数据(推荐生产)
  • walLevel=1(异步):性能高 30%+,可能丢最后几秒(容忍场景)

Q4: debugFlag 太高占空间?

131(error+warn)是生产默认。临时排错可改 143(含 info),完成后改回。

Q5: timezone 必须配置吗?

强烈建议。否则时间戳显示混乱。客户端和服务端时区应一致。

参考

系统构架篇

数据模型

存储引擎

查询引擎

数据写入

数据订阅

预聚合

索引

SQL 语句

客户端与连接器

运维

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TDengine (老段)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值