分类:12.运维 | 篇章:02 配置
免费详情
taos.cfg 是 TDengine 服务端和客户端的核心配置文件。本文按类别详解关键参数、默认值、调优建议、生效方式。
配置类别速查
| 类别 | 代表参数 |
|---|---|
| 网络 | firstEp, fqdn, serverPort |
| 存储 | dataDir, logDir |
| 集群 | numOfMnodes, supportVnodes |
| 性能 | numOfRpcSessions, queryPolicy |
| 日志 | logKeepDays, debugFlag |
| TMQ | tmqMaxTopicNum |
| 监控 | 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;
性能考量
关键调优参数
| 场景 | 参数 | 调整 |
|---|---|---|
| 高并发查询 | numOfRpcThreads | 20+ |
| 高并发查询 | queryPolicy | 2/3 (用 qnode) |
| 高吞吐写入 | numOfCommitThreads | 8 |
| 多盘 IO | dataDir | 多个 |
| 大数据量 | walLevel | 1 (异步) |
| 长保留日志 | logKeepDays | 90 |
内存使用估算
单 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 必须配置吗?
强烈建议。否则时间戳显示混乱。客户端和服务端时区应一致。
参考
系统构架篇
- 01-《TDengine 整体架构全景》
- 02-《集群拓扑深度解析》
- 03-《MNode 内部机制深度解析》
- 04-《RPC 通信层深度解析》
- 05-《VNode 生命周期》
- 06-《RAFT 共识协议》
- 07-《端到端的消息流》
数据模型
- 01-《数据库创建与参数详解》
- 02-《超级表/子表/普通表》
- 03-《支持数据类型深度解析》
- 04-《TDengine Tag 设计哲学与 Schema 变更机制》
- 05-《TDengine 虚拟表实现原理》
存储引擎
- 01-《TDengine 存储引擎概览》
- 02-《TDengine MemTable 深度解析》
- 03-《TDengine WAL 预写日志机制》
- 04-《TDengine 数据文件格式》
- 05-《TDengine Commit 与 Flush 机制 》
- 06-《TDengine Compaction 合并策略 》
- 07-《TDengine 数据保留与 TTL》
- 08-《TDengine 压缩编码机制》
- 09-《TDengine Cache 与 Last 查询加速》
- 10-《TDengine 逻辑计划生成》
查询引擎
- 01-《TDengine 查询引擎概览》
- 02-《TDengine SQL 解析与词法分析》
- 03-《TDengine 语义分析与 AST 重写》
- 04-《TDengine 逻辑计划生成》
- 05-《TDengine 物理计划生成》
- 06-《TDengine 扫描算子》
- 07-《TDengine 聚合算子》
- 08-《TDengine 连接算子》
- 09-《TDengine 排序、填充与投影》
- 10-《TDengine 分布式查询执行》
- 11-《TDengine EXPLAIN 与查询优化》
数据写入
- 01-《TDengine SQL INSERT》
- 02-《TDengine 无模式写入》
- 03-《TDengine STMT 写入》
- 04-《TDengine 写入内部流程》
- 05-《TDengine 数据更新删除》
数据订阅
- 01-《TDengine 数据订阅》
- 02-《TDengine 订阅 vs Kafka》
- 03-《TDengine TMQ 消费流程》
- 04-《TDengine 内部机制》
- 05-《TDengine TMQ 最佳实践》
预聚合
索引
SQL 语句
- 01-《TDengine DDL》
- 02-《TDengine DML SELECT》
- 03-《TDengine DML 函数完整参考》
- 04-《TDengine JOIN 完整语法》
- 05-《TDengine 窗口完整语法》
- 06-《TDengine 操作符与表达式》
- 07-《TDengine 系统表》
- 08-《TDengine SQL 与标准 SQL 差异》
客户端与连接器
- 01-《TDengine 的连接方式》
- 02-《TDengine C/C++ 连接器》
- 03-《TDengine java 连接器》
- 04-《TDengine Python 连接器》
- 05-《TDengine Go 与 Rust 连接器》
- 06-《TDengine Node.js 与 C# 连接器》
运维
关于 TDengine
TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。


2万+

被折叠的 条评论
为什么被折叠?



