用安装包快速体验 TDengine TSDB:从下载安装、服务启动到写入查询的完整实战
2026/9/13 18:03:22 网站建设 项目流程

用安装包快速体验 TDengine TSDB:从下载安装、服务启动到写入查询的完整实战

【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

本文面向希望在本地快速搭建 TDengine 时序数据库(TSDB)进行功能体验的开发者,围绕官方安装包方式展开:从环境准备、Linux/Windows 两种平台的下载安装,到使用start-all.sh/start-all.bat启动服务、通过taos命令行执行 SQL、借助taosBenchmark写入 1 亿条测试数据并完成聚合查询。读完本文,你将掌握基于安装包完成 TDengine 全流程上手的能力,并为后续数据建模、流式计算等进阶章节打下基础。

本文对应仓库文档:用安装包快速体验 及其快速体验部分 resource/_get_started.mdx,并以仓库中的安装脚本 packaging/tools/install.sh、systemd 服务单元 packaging/cfg/taosd.service 为源码级依据展开。

安装前的环境准备

动手安装前,请先确认以下三项准备是否完成:

  1. 操作系统与最低配置:选择要安装 TDengine 的操作系统环境,并确认机器满足最低要求。不同平台的详细支持情况见 支持的平台,资源规划与系统要求见 系统要求(部署规划)。
  2. 权限要求:Linux 环境需要具备sudo权限;Windows 环境需要使用管理员权限运行相关命令。
  3. (仅 Windows)安装程序会检查 Microsoft Visual C++ Redistributable 2015-2022 x64 14.44 或更高版本。若缺失或版本过旧,确认提示后可由安装程序自动安装自带的 14.50.35719.0 运行库,无需手工处理。

下载并安装 TDengine 安装包

安装包分为 Linux 通用平台(tar.gz)与 Windows(安装程序)两类,分别说明如下。

Linux:解压 tar.gz 并执行 install.sh

  1. 从官方下载中心选择 TDengine TSDB-Enterprise 的 Linux-Generic 平台安装包。
  2. 进入安装包所在目录,使用tar解压,以 x64 架构为例:
tar -zxvf tdengine-tsdb-enterprise-{{VERSION}}-linux-x64.tar.gz
  1. 进入解压后的目录,执行安装脚本:
sudo ./install.sh

从安装脚本 packaging/tools/install.sh 的源码看,install.sh还支持若干可选参数,便于无人值守或自定义安装:

参数说明
-h显示帮助信息
-v [server \| client]安装类型:server(默认,含全部服务)或client(仅安装客户端工具,不含服务)
-e [yes \| no]是否交互式设置 FQDN,no表示跳过交互
-d [install dir]自定义安装目录,脚本会在其后自动追加taos子目录
-s静默模式安装,同时将 FQDN 交互置为no

脚本会依据系统发行版(Ubuntu/Debian/Kylin 等走 deb 系、CentOS/Fedora 走 rpm 系)自动选择服务管理方式:优先使用 systemd,其次回退到service/chkconfig/insserv/update-rc.d。安装时若检测到已有 TDengine 服务,会询问是否继续,默认按升级处理并保留原安装目录。

默认安装路径(root 用户、systemd 环境下)如下,实际以安装过程提示为准:

  • 安装目录:/usr/local/taos
  • 数据目录:/var/lib/taos
  • 日志目录:/var/log/taos
  • 配置文件目录:/etc/taos
  • systemd 服务单元:/etc/systemd/system

此外脚本支持非 root 用户安装(需要 systemd >= 232),此时默认安装到$HOME/taos,并将bin目录加入用户的PATHlib目录加入LD_LIBRARY_PATH。安装过程中还会引导设置 FQDN(主机名或本机 IP,不能为localhost),并自动写入/etc/hosts,该值将写入 packaging/cfg/taos.cfg 对应的fqdn配置项,是集群节点间通信的关键标识。

Windows:运行安装程序

  1. 从官方下载中心下载最新的 Windows 安装程序。
  2. 以管理员身份运行安装程序,根据提示完成安装。默认安装目录为C:\TDengine

Windows 安装目录有两个需要注意的规则:

  • 你可以自定义安装根目录;如果所选路径未以TDengine结尾,安装程序会自动在其下创建TDengine目录。例如选择D:\apps后,实际安装目录为D:\apps\TDengine;而直接选择D:\apps\TDengine时不会重复创建目录。
  • 升级安装会继续使用已有安装目录,且不能更改该目录。

安装完成后,程序会将实际安装目录添加到PATH环境变量,因此后续taostaosBenchmark等命令可在任意 cmd 窗口中直接使用。

更多类型和版本的安装包,可前往 TDengine 产品下载中心选择对应产品线(如 TDengine TSDB-Enterprise)与平台下载。

启动服务

TDengine 的所有组件均以系统服务方式统一管理,安装完成后即可启动。

Linux:start-all.sh 与 systemctl

在终端执行以下脚本启动全部服务:

sudo start-all.sh

从 packaging/tools/install.sh 的源码可以看到,安装脚本会把start-all.shstop-all.sh等工具一并安装到bin目录,并针对不同版本(edge/cluster、full/lite)注册对应的服务集合。默认完整安装会注册的服务包括:taosd(时序数据库核心服务)、taosadapter(RESTful/接入适配服务)、taoskeeper(监控告警服务)、taos-explorer(可视化界面服务),集群版还包括taosx(数据同步工具)。

TDengine 的所有组件均使用 systemd 进行服务管理,可用以下命令逐一查看服务状态:

sudo systemctl status taosd sudo systemctl status taosadapter sudo systemctl status taoskeeper sudo systemctl status taos-explorer

如果输出中包含Active: active (running) since ...,说明对应服务已启动成功。

以核心服务为例,其 systemd 单元 packaging/cfg/taosd.service 的关键配置体现了对时序数据库运行的专门调优:

  • LimitNOFILE=1048576:放开单进程文件描述符上限,支撑海量数据文件与连接;
  • Restart=alwaysStartLimitBurst=3/StartLimitInterval=900s:异常退出自动拉起,并限制短时间内的重启风暴;
  • OOMScoreAdjust=-100:降低核心服务被 OOM Killer 优先回收的概率;
  • TimeoutStopSec=1000000s:为数据落盘与正常退出预留充足时间。

Windows:start-all.bat 与 sc query

安装程序会将实际安装目录加入PATH。安装完成后,以管理员身份重新打开 cmd 窗口,进入实际安装目录,即可用start-all.bat统一管理服务。无参数时默认执行启动,同时支持statusstop两个子命令。

启动所有服务:

start-all.bat

如果只需启动服务,并跳过连通性检查以及 Snode 和 Xnode 初始化,可使用-S参数:

start-all.bat -S

查看服务状态:

start-all.bat status

停止所有服务:

start-all.bat stop

如需分别查看各个 Windows Service 的原始状态,可使用:

sc query taosd sc query taosadapter sc query taosx sc query taoskeeper sc query taos-explorer

如果start-all.bat status显示服务状态为running,或者sc query输出中包含RUNNING,则说明对应服务已经启动成功。

打开命令行:taos shell

TDengine 提供命令行工具taos shell(即taos),可用于检查服务状态、执行 SQL、管理数据库和表。进入 shell 后,可以直接体验写入和查询功能。

在 Linux 或 macOS 终端中执行:

taos

在 Windows 中执行:

taos.exe

进入 shell 后,提示符为:

taos>

在 shell 中,SQL 语句必须以分号(;)结尾。下面的示例会创建数据库、写入两条数据并查询结果:

CREATE DATABASE demo; USE demo; CREATE TABLE t (ts TIMESTAMP, speed INT); INSERT INTO t VALUES ('2019-07-15 00:00:00', 10); INSERT INTO t VALUES ('2019-07-15 01:00:00', 20); SELECT * FROM t; ts | speed | ======================================== 2019-07-15 00:00:00.000 | 10 | 2019-07-15 01:00:00.000 | 20 | Query OK, 2 row(s) in set (0.003128s)

除执行 SQL 外,你还可以通过 shell 检查系统运行状态、管理用户账号等。shell 和应用驱动也可以独立安装在其他机器上运行,详情可参考 TDengine 命令行工具 taos。

写入测试数据:taosBenchmark

taosBenchmark是 TDengine 提供的测试工具,可用于快速生成测试数据,并体验写入、查询和订阅等功能。它可以模拟大量设备产生的数据,支持配置数据库、超级表、标签列、数据列、子表数量、每张子表的数据量、写入间隔、工作线程数量以及是否写入乱序数据等参数。

确认 TDengine 服务已经启动后,在终端中执行下面的命令:

taosBenchmark -y

执行后,系统会自动在test数据库中创建一张名为meters的超级表,其默认数据规模如下:

  • 子表数量:10,000 张,表名从d0d9999
  • 每张子表记录数:10,000 条;
  • 数据字段ts(时间戳)、current(电流)、voltage(电压)、phase(相位)4 个字段;
  • 时间戳范围2017-07-14 10:40:00.0002017-07-14 10:40:09.999
  • 标签列:每张表带有locationgroupId两个标签,其中groupId取值为 1 到 10,locationCalifornia.CampbellCalifornia.Cupertino等城市信息。

该命令共写入1 亿条记录。实际耗时取决于硬件性能,即使在普通 PC 服务器上,这个过程通常也只需要十几秒。

taosBenchmark提供了丰富的参数,可用于自定义表数量、记录条数等测试配置。执行下面的命令可以查看完整参数列表:

taosBenchmark --help

关于taosBenchmark的详细使用方法,可参考 taosBenchmark 参考手册。

查询测试数据

使用taosBenchmark写入数据后,可以在 shell 中执行下面的查询,体验 TDengine 在亿级数据规模下的查询能力。

1. 查询超级表meters下的记录总条数:

SELECT COUNT(*) FROM test.meters; count(*) | =================== 100000000 | Query OK, 1 row(s) in set (0.075247s)

2. 查询 1 亿条记录的平均值、最大值和最小值:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters; avg(current) | max(voltage) | min(phase) | =============================================== 10.2084751316071 | 258 | 145 | Query OK, 1 row(s) in set (0.094037s)

3. 按标签过滤,查询location = "California.SanFrancisco"的记录总条数:

SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco"; count(*) | =================== 10340000 | Query OK, 1 row(s) in set (0.050540s)

4. 按标签过滤,查询groupId = 10的所有记录的平均值、最大值和最小值:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10; avg(current) | max(voltage) | min(phase) | =============================================== 10.2084751316071 | 258 | 145 | Query OK, 1 row(s) in set (0.033754s)

5. 对表d1001按每 10 秒进行平均值、最大值和最小值聚合统计(时间窗口查询):

SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s); _wstart | avg(current) | max(voltage) | min(phase) | ========================================================================= 2017-07-14 10:40:00.000 | 10.2084751316071 | 258 | 145 | Query OK, 1 row(s) in set (0.004716s)

在上面的查询中,系统伪列_wstart表示每个时间窗口的开始时间,是时间窗口聚合查询的常用辅助列。

进阶体验与下一步

完成以上内容后,你可以沿着快速入门系列继续深入以下主题:

  • 基本概念
  • 数据建模
  • 数据写入
  • 数据查询
  • 数据订阅
  • 流式计算
  • 可视化管理
  • Grafana 集成
  • 零代码数据写入

此外,如果你的环境不便使用安装包,还可以参考 使用 Docker 快速体验 或 使用云服务 两种替代方式。完成上述快速体验后,即可进一步了解 TDengine 的数据建模、写入、查询、数据订阅和流式计算等核心能力。

【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询