TDengine Docker Compose部署:快速搭建单机与集群测试环境

TDengine Docker Compose部署:快速搭建单机与集群测试环境

【免费下载链接】TDengine TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps. 【免费下载链接】TDengine 项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

你还在为时间序列数据库部署繁琐而困扰?本文3分钟教你用Docker Compose一键搭建TDengine单机/集群环境,含完整配置与运维技巧。读完你将获得:单机环境3步部署法、3节点集群配置模板、容器状态监控脚本、数据持久化方案。

环境准备

安装Docker与Docker Compose

# Ubuntu系统示例
sudo apt-get update && sudo apt-get install -y docker.io docker-compose
sudo systemctl enable docker && sudo systemctl start docker

基础配置文件准备

创建docker-compose.yml基础模板,基于官方Dockerfile构建服务:

version: '3.8'
services:
  taosd:
    build: 
      context: ./packaging/docker
      dockerfile: Dockerfile
    ports:
      - "6030:6030"  # taosd服务端口
      - "6041:6041"  # taosAdapter端口
    volumes:
      - taosdata:/var/lib/taos
      - taoslog:/var/log/taos
    environment:
      - TZ=Asia/Shanghai
    restart: always

volumes:
  taosdata:
  taoslog:

配置文件基于项目packaging/docker/Dockerfile构建,暴露了文档中定义的6030/6041等核心端口。

单机部署

完整配置示例

version: '3.8'
services:
  taosd:
    build: 
      context: ./packaging/docker
      dockerfile: Dockerfile
    container_name: tdengine-single
    ports:
      - "6030:6030"
      - "6041:6041"
      - "6043:6043"  # taosKeeper端口
      - "6060:6060"  # taosExplorer端口
    volumes:
      - ./packaging/cfg/taos.cfg:/etc/taos/taos.cfg:ro  # 挂载配置文件
      - taosdata:/var/lib/taos
      - taoslog:/var/log/taos
    environment:
      - TZ=Asia/Shanghai
      - TAOS_FQDN=localhost
    restart: always
    healthcheck:
      test: ["CMD", "taos", "-s", "show databases;"]
      interval: 10s
      timeout: 5s
      retries: 3

volumes:
  taosdata:
  taoslog:

启动与验证

# 构建并启动服务
docker-compose up -d --build

# 检查服务状态
docker-compose ps

# 查看日志
docker-compose logs -f taosd

数据写入测试

使用Python示例脚本验证服务可用性:

# 安装Python客户端
pip install taospy

# 运行测试脚本
python examples/python/read_example.py

示例脚本位于examples/python/read_example.py,可直接用于验证数据读写功能。

TDengine架构

集群部署

3节点集群配置

version: '3.8'
services:
  taosd1:
    build: ./packaging/docker
    container_name: tdengine-node1
    ports:
      - "6030:6030"
      - "6041:6041"
    volumes:
      - ./packaging/cfg/taos1.cfg:/etc/taos/taos.cfg:ro
      - taosdata1:/var/lib/taos
      - taoslog1:/var/log/taos
    environment:
      - TZ=Asia/Shanghai
      - TAOS_FQDN=taosd1
    restart: always
    networks:
      tdengine-net:
        ipv4_address: 172.28.0.2

  taosd2:
    build: ./packaging/docker
    container_name: tdengine-node2
    volumes:
      - ./packaging/cfg/taos2.cfg:/etc/taos/taos.cfg:ro
      - taosdata2:/var/lib/taos
      - taoslog2:/var/log/taos
    environment:
      - TZ=Asia/Shanghai
      - TAOS_FQDN=taosd2
    restart: always
    networks:
      tdengine-net:
        ipv4_address: 172.28.0.3

  taosd3:
    build: ./packaging/docker
    container_name: tdengine-node3
    volumes:
      - ./packaging/cfg/taos3.cfg:/etc/taos/taos.cfg:ro
      - taosdata3:/var/lib/taos
      - taoslog3:/var/log/taos
    environment:
      - TZ=Asia/Shanghai
      - TAOS_FQDN=taosd3
    restart: always
    networks:
      tdengine-net:
        ipv4_address: 172.28.0.4

networks:
  tdengine-net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16

volumes:
  taosdata1:
  taoslog1:
  taosdata2:
  taoslog2:
  taosdata3:
  taoslog3:

节点配置文件示例

节点1配置文件taos1.cfg

firstEp              taosd1:6030
secondEp             taosd2:6030,taosd3:6030
fqdn                 taosd1
serverPort           6030
numOfThreads         8

配置模板参考packaging/cfg/taos.cfg

集群初始化与验证

# 启动集群
docker-compose up -d

# 初始化集群
docker exec -it tdengine-node1 taos -s "create cluster if not exists mycluster;"

# 查看集群状态
docker exec -it tdengine-node1 taos -s "show dnodes;"

运维与监控

日志管理

# 设置日志轮转
docker exec -it tdengine-single vi /etc/logrotate.d/taos

# 查看实时日志
docker-compose logs -f --tail=100 taosd

性能测试

使用内置性能测试工具:

# 运行QPS测试
docker exec -it tdengine-single /usr/local/taos/bin/taosBenchmark -n 100000 -t 10

性能测试工具源码位于tools/lastqps-test/

服务扩容

# 新增节点配置示例
taosd4:
  build: ./packaging/docker
  container_name: tdengine-node4
  volumes:
    - ./packaging/cfg/taos4.cfg:/etc/taos/taos.cfg:ro
    - taosdata4:/var/lib/taos
    - taoslog4:/var/log/taos
  environment:
    - TZ=Asia/Shanghai
    - TAOS_FQDN=taosd4
  restart: always
  networks:
    tdengine-net:
      ipv4_address: 172.28.0.5

总结与后续

本文介绍了使用Docker Compose快速部署TDengine单机和集群环境的方法,涵盖配置文件编写、服务启动、集群初始化和基本运维操作。生产环境部署请参考官方文档docs/zh/08-operation/

点赞收藏本文,下期将带来"TDengine与Grafana可视化集成"实战教程,敬请关注!

【免费下载链接】TDengine TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps. 【免费下载链接】TDengine 项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

抵扣说明:

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

余额充值