TDengine 快速体验(Docker 镜像方式)

news/2025/7/8 15:30:24

在这里插入图片描述

简介

TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快速体验。如果您希望为 TDengine 贡献代码或对内部技术实现感兴趣,请参考 TDengine GitHub 主页下载源码构建和安装。

启动 TDengine

如果已经安装了 Docker,首先拉取最新的 TDengine 容器镜像:

docker pull tdengine/tdengine:latest

或者指定版本的容器镜像:

docker pull tdengine/tdengine:3.3.3.0

然后只需执行下面的命令:

docker run -d -p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6044-6049:6044-6049 -p 6044-6045:6044-6045/udp -p 6060:6060 tdengine/tdengine

注意:TDengine 3.0 服务端仅使用 6030 TCP 端口。6041 为 taosAdapter 所使用提供 REST 服务端口。6043 为 taosKeeper 使用端口。6044-6049 TCP 端口为 taosAdapter 提供第三方应用接入所使用端口,可根据需要选择是否打开。
6044 和 6045 UDP 端口为 statsd 和 collectd 格式写入接口,可根据需要选择是否打开。6060 为 taosExplorer 使用端口。具体端口使用情况请参考TDengine 容量规划 中的 “网络端口要求” 一节内容。

如果需要将数据持久化到本机的某一个文件夹,则执行下边的命令:

docker run -d -v ~/data/taos/dnode/data:/var/lib/taos \-v ~/data/taos/dnode/log:/var/log/taos \-p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6044-6049:6044-6049 -p 6044-6045:6044-6045/udp -p 6060:6060 tdengine/tdengine

:::note

  • /var/lib/taos: TDengine 默认数据文件目录。可通过[配置文件]修改位置。你可以修改 ~/data/taos/dnode/data 为你自己的数据目录
  • /var/log/taos: TDengine 默认日志文件目录。可通过[配置文件]修改位置。你可以修改 ~/data/taos/dnode/log 为你自己的日志目录

:::

确定该容器已经启动并且在正常运行。

docker ps

进入该容器并执行 bash

docker exec -it <container name> bash

然后就可以执行相关的 Linux 命令操作和访问 TDengine。

注:Docker 工具自身的下载和使用请参考 Docker 官网文档。

TDengine 命令行界面

进入容器,执行 taos

$ taostaos>

快速体验

体验写入

taosBenchmark 是一个专为测试 TDengine 性能而设计的工具,它能够全面评估 TDengine 在写入、查询和订阅等方面的功能表现。该工具能够模拟大量设备产生的数据,并允许用户灵活控制数据库、超级表、标签列的数量和类型、数据列的数量和类型、子表数量、每张子表的数据量、写入数据的时间间隔、工作线程数量以及是否写入乱序数据等策略。

启动 TDengine 的服务,在终端中执行如下命令

taosBenchmark -y

系统将自动在数据库 test 下创建一张名为 meters 的超级表。这张超级表将包含 10,000 张子表,表名从 d0 到 d9999,每张表包含 10,000 条记录。每条记录包含 ts(时间戳)、current(电流)、voltage(电压)和 phase(相位)4 个字段。时间戳范围从“2017-07-14 10:40:00 000”到“2017-07-14 10:40:09 999”。每张表还带有 location 和 groupId 两个标签,其中,groupId 设置为 1 到 10,而 location 则设置为 California.Campbell、California.Cupertino 等城市信息。

执行该命令后,系统将迅速完成 1 亿条记录的写入过程。实际所需时间取决于硬件性能,但即便在普通 PC 服务器上,这个过程通常也只需要十几秒。

taosBenchmark 提供了丰富的选项,允许用户自定义测试参数,如表的数目、记录条数等。要查看详细的参数列表,请在终端中输入如下命令

taosBenchmark --help

有关 taosBenchmark 的详细使用方法,请参考 taosBenchmark 参考手册

体验查询

使用上述 taosBenchmark 插入数据后,可以在 TDengine CLI(taos)输入查询命令,体验查询速度。

  1. 查询超级表 meters 下的记录总条数
SELECT COUNT(*) FROM test.meters;
  1. 查询 1 亿条记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
  1. 查询 location = “California.SanFrancisco” 的记录总条数
SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";
  1. 查询 groupId = 10 的所有记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;
  1. 对表 d1001 按每 10 秒进行平均值、最大值和最小值聚合统计
SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s);

在上面的查询中,使用系统提供的伪列 _wstart 来给出每个窗口的开始时间。

参考文档

  1. TDengine 快速体验(云服务方式)
  2. TDengine 官网

https://dhexx.cn/news/show-5537776.html

相关文章

SpringBoot+Vue+MySQL全栈开发实战:前后端接口对接与数据存储详解

SpringBootVueMySQL全栈开发实战&#xff1a;前后端接口对接与数据存储详解 本文将深入探讨如何高效连通SpringBoot后端、Vue前端和MySQL数据库&#xff0c;构建企业级全栈应用。基于2025年最新技术实践&#xff0c;包含8大核心模块、15个代码示例和3种可视化图表&#xff0c;助…

Linux动态库与静态库详解:从入门到精通

很多初学者对Linux下的动态库和静态库概念都会感到困惑。今天&#xff0c;我就结合实际经验&#xff0c;用通俗易懂的语言来讲解这个话题&#xff0c;帮助大家真正理解Linux库的本质。 什么是库&#xff1f;为什么需要库&#xff1f; 想象一下&#xff0c;如果你经常需要做饭…

入门机器学习需要的统计基础

很多人都说&#xff1a;“学机器学习一定要有数学基础”&#xff0c;但问题是——从哪开始学&#xff1f;学到什么程度才够&#xff1f; 其实真的没那么难。 想搭好底子&#xff0c;其实你只需要一门课&#xff1a; &#x1f4d8;统计与概率入门&#xff08;by Khan Academy&…

SQL SERVER 数据库迁移的三种方法!

要将SQL Server从研发环境的把数据库结构(不含数据)迁移至生产环境,可通过以下几种方法实现。以下是具体操作步骤及适用场景: ⚙️ 一、使用SSMS图形界面生成结构脚本(推荐新手) 通过SQL Server Management Studio的生成脚本向导,仅导出数据库架构: ​​连接测试库​​…

【TinyWebServer】HTTP连接处理

epoll epoll_create函数 epoll_ctl函数 events epoll_wait函数 select/poll/epoll ET、LT、EPOLLONESHOT HTTP报文格式 请求报文 响应报文 HTTP状态码 有限状态机 http处理流程 http报文处理流程 http类 epoll相关代码 服务器接收http请求 流程图与状态机 主…

Prometheus + Grafana 监控 RabbitMQ 实践指南

文章目录 Prometheus Grafana 监控 RabbitMQ 实践教程一、前言二、环境搭建2.1 环境准备2.2 安装 Prometheus2.3 安装 Grafana 三、集成 RabbitMQ Exporter3.1 下载 RabbitMQ Exporter3.2 解压文件3.3 配置环境变量3.4 启动 RabbitMQ Exporter3.6 验证 Exporter 状态 四、Prom…

从零开始搭建现代化 Monorepo 开发模板:TypeScript + Rollup + Jest + 持续集成完整指南

在现代前端开发中&#xff0c;Monorepo&#xff08;单体仓库&#xff09;架构已经成为管理多个相关包的主流方案。无论是 React、Vue、还是 Angular 等知名框架&#xff0c;都采用了 Monorepo 的组织方式。本文将带您从零开始&#xff0c;一步步搭建一个功能完整的 Monorepo 开…

Java设计模式基础问答

面试过程中会让你介绍你项目或实习中使用的设计模式&#xff0c;你该如何说明 工厂模式 工厂模式是把对象创建的逻辑封装到一个工厂类里面&#xff0c;我们用工厂类来创建对象 为什么需要工厂类&#xff08;优点&#xff09;&#xff1a; 可以集中管理对象的创建规则。例如要…

pnpm install 和 npm install 的区别

pnpm install 和 npm install 的区别 pnpm install 和 npm install 都是用于安装项目依赖的命令&#xff0c;但它们在依赖管理机制、磁盘空间占用、安装速度和依赖安全性上有显著区别&#xff1a; 核心区别总结 特性npmpnpm依赖存储平铺结构&#xff08;嵌套改进版&#xff0…

Matlab点云合并函数pcmerge全解析

Matlab 中 pcmerge 函数的详细用法 1. 参数说明2. pcmerge函数调用示例2.1 示例1(对两个点云进行合并)2.2 示例2:对于大量点云数据的适用性分析3 结语1. 参数说明 pcmerge 是 MATLAB 提供的一个用于点云数据合并的函数。其主要作用是将两个点云对象按照指定的空间分辨率进行…