1. TDengine与Docker部署概述
TDengine是一款开源的时序数据库(Time-Series Database),专为物联网、车联网、工业互联网等场景设计。它采用分布式架构,支持水平扩展,能够高效处理海量时序数据的写入和查询。相比传统关系型数据库,TDengine在存储效率、查询性能和压缩比方面有明显优势。
为什么选择Docker部署TDengine?Docker容器化部署有以下几个显著优势:
- 环境一致性:避免"在我机器上能跑"的问题,确保开发、测试、生产环境一致
- 快速部署:一条命令即可完成安装,无需处理复杂的依赖关系
- 资源隔离:容器之间相互隔离,不会互相影响
- 便捷管理:使用docker-compose可以轻松管理多节点集群
在开始之前,你需要确保:
- 已安装Docker引擎(建议版本20.10+)
- 系统至少有4GB可用内存(集群部署需要更多)
- 磁盘空间充足(建议预留10GB以上空间)
2. 单机版TDengine部署
2.1 拉取官方镜像
TDengine官方提供了Docker镜像,我们可以直接拉取最新版本:
docker pull tdengine/tdengine:latest
如果想使用特定版本(如3.0.4.0),可以指定标签:
docker pull tdengine/tdengine:3.0.4.0
2.2 运行TDengine容器
基础运行命令如下:
docker run -d \
--name tdengine \
-p 6030:6030 \
-p 6041:6041 \
-p 6043-6049:6043-6049 \
-p 6043-6049:6043-6049/udp \
tdengine/tdengine
端口说明:
- 6030:TDengine默认服务端口
- 6041:RESTful接口端口
- 6043-6049:为第三方应用提供的服务端口
2.3 数据持久化配置
为了防止容器重启后数据丢失,我们需要将数据目录挂载到宿主机:
docker run -d \
-v /path/to/taos/data:/var/lib/taos \
-v /path/to/taos/log:/var/log/taos \
-p 6030:6030 \
-p 6041:6041 \
tdengine/tdengine
2.4 验证安装
检查容器是否正常运行:
docker ps | grep tdengine
进入容器并连接TDengine:
docker exec -it tdengine bash
taos
在taos shell中执行简单查询验证:
show databases;
3. 使用docker-compose部署TDengine集群
3.1 集群架构设计
一个典型的TDengine集群包含以下组件:
- 多个数据节点(dnode)
- 管理节点(mnode)
- 仲裁节点(arbitrator,可选但推荐)
建议生产环境至少部署3个节点以保证高可用性。
3.2 docker-compose文件配置
创建docker-compose.yml文件:
version: "3"
services:
td-node1:
image: tdengine/tdengine:latest
hostname: td-node1
environment:
TAOS_FQDN: "td-node1"
TAOS_FIRST_EP: "td-node1"
TAOS_NUM_OF_MNODES: 3
TAOS_REPLICA: 3
volumes:
- ./data/node1:/var/lib/taos
- ./log/node1:/var/log/taos
ports:
- "6030:6030"
- "6041:6041"
td-node2:
i


1088

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



