立即開始
快捷安裝
TDengine 包括服務端、客戶端和周邊生態工具軟件,目前 2.0 版服務端僅在 Linux 系統上安裝和運行,后續將支持 Windows、macOS 等系統。客戶端可以在 Windows 或 Linux 上安裝和運行。在任何操作系統上的應用都可以使用 RESTful 接口連接服務端程序 taosd,其中 2.4 之后版本默認使用單獨運行的獨立組件 taosAdapter 提供 http 服務和更多數據寫入方式。taosAdapter 需要手動啟動。 之前版本 TDengine 服務端,以及所有服務端lite版,均使用內置 http 服務。
TDengine 支持 X64/ARM64/MIPS64/Alpha64 硬件平臺,后續將支持 ARM32、RISC-V 等 CPU 架構。
通過 Docker 容器安裝
docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp tdengine/tdengine
詳細操作方法請參照 通過 Docker 快速體驗 TDengine。
注:暫時不建議生產環境采用 Docker 來部署 TDengine 的客戶端或服務端,但在開發環境下或初次嘗試時,使用 Docker 方式部署是十分方便的。特別是,利用 Docker,可以方便地在 macOS 和 Windows 環境下嘗試 TDengine。
從 2.4.0.10 開始,除 taosd 以外,Docker 鏡像還包含:taos、taosAdapter、taosdump、taosBenchmark、TDinsight 安裝腳本和示例代碼。啟動 Docker 容器時,將同時啟動 taosAdapter 和 taosd,實現對 RESTful 的支持。
通過安裝包安裝
TDengine 的安裝非常簡單,從下載到安裝成功僅僅只要幾秒鐘。
為方便使用,從 2.4.0.10 開始,標準的服務端安裝包包含了 taos、taosd、taosAdapter、taosdump、taosBenchmark、TDinsight 安裝腳本和示例代碼;如果您只需要用到服務端程序和客戶端連接的 C/C++ 語言支持,也可以僅下載 lite 版本的安裝包。
在安裝包格式上,我們提供 tar.gz, rpm 和 deb 格式,為企業客戶提供 tar.gz 格式安裝包,以方便在特定操作系統上使用。需要注意的是,rpm 和 deb 包不含 taosdump、taosBenchmark 和 TDinsight 安裝腳本,這些工具需要通過安裝 taosTool 包獲得。
發布版本包括穩定版和 Beta 版,Beta 版含有更多新功能。正式上線或測試建議安裝穩定版。您可以根據需要選擇下載:
具體的安裝方法,請參見 TDengine 多種安裝包的安裝和卸載 以及 視頻教程。
下載其他組件、最新 Beta 版及之前版本的安裝包,請點擊 這里
請點擊 查看 Release Notes。
使用 apt-get 安裝
如果使用 Debian 或 Ubuntu 系統,也可以使用 apt-get 工具從官方倉庫安裝,設置方法為:
wget -qO - //repos.yakult-sh.com.cn/tdengine.key | sudo apt-key add -
echo "deb [arch=amd64] //repos.yakult-sh.com.cn/tdengine-stable stable main" | sudo tee /etc/apt/sources.list.d/tdengine-stable.list
[ 如果安裝 Beta 版需要安裝包倉庫 ] echo "deb [arch=amd64] //repos.yakult-sh.com.cn/tdengine-beta beta main" | sudo tee /etc/apt/sources.list.d/tdengine-beta.list
sudo apt-get update
apt-cache policy tdengine
sudo apt-get install tdengine
僅安裝客戶端
如果客戶端和服務端運行在不同的電腦上,可以單獨安裝客戶端。下載時請注意,所選擇的客戶端版本號應該和在上面下載的服務端版本號嚴格匹配。Linux 和 Windows 安裝包如下(其中 lite 版本的安裝包僅帶有 C/C++ 語言的連接支持,而標準版本的安裝包還包含和示例代碼):
通過源碼安裝
如果您希望對 TDengine 貢獻代碼或對內部實現感興趣,請參考我們的 下載源碼構建和安裝.
輕松啟動
安裝成功后,用戶可使用 systemctl 命令來啟動 TDengine 的服務進程。
systemctl start taosd
檢查服務是否正常工作:
systemctl status taosd
如果 TDengine 服務正常工作,那么您可以通過 TDengine 的命令行程序 taos 來訪問并體驗 TDengine。
注意:
- systemctl 命令需要 root 權限來運行,如果您非 root 用戶,請在命令前添加 sudo 。
- 為更好的獲得產品反饋,改善產品,TDengine 會采集基本的使用信息,但您可以修改系統配置文件 taos.cfg 里的配置參數 telemetryReporting,將其設為 0,就可將其關閉。
- TDengine 采用 FQDN(一般就是 hostname)作為節點的 ID,為保證正常運行,需要給運行 taosd 的服務器配置好 hostname,在客戶端應用運行的機器配置好 DNS 服務或 hosts 文件,保證 FQDN 能夠解析。
systemctl stop taosd指令在執行后并不會馬上停止 TDengine 服務,而是會等待系統中必要的落盤工作正常完成。在數據量很大的情況下,這可能會消耗較長時間。
TDengine 支持在使用 做進程服務管理的 Linux 系統上安裝,用 which systemctl 命令來檢測系統中是否存在 systemd 包:
which systemctl
如果系統中不支持 systemd,也可以用手動運行 /usr/local/taos/bin/taosd 方式啟動 TDengine 服務。
使用 TDengine 客戶端程序
執行 TDengine 客戶端程序,您只要在 Linux 終端執行 taos 即可。
taos
如果連接服務成功,將會打印出歡迎消息和版本信息。如果失敗,則會打印錯誤消息出來(請參考 FAQ 來解決終端連接服務端失敗的問題)。客戶端的提示符號如下:
taos>
在 TDengine 客戶端中,用戶可以通過 SQL 命令來創建/刪除數據庫、表等,并進行插入查詢操作。在終端中運行的 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 語句外,系統管理員還可以從 TDengine 客戶端進行檢查系統運行狀態、添加刪除用戶賬號等操作。
命令行參數
您可通過配置命令行參數來改變 TDengine 客戶端的行為。以下為常用的幾個命令行參數:
- -c, --config-dir: 指定配置文件目錄,默認為
/etc/taos - -h, --host: 指定服務的 FQDN 地址或 IP 地址,默認為連接本地服務
- -s, --commands: 在不進入終端的情況下運行 TDengine 命令
- -u, --user: 連接 TDengine 服務端的用戶名,缺省為 root
- -p, --password: 連接 TDengine 服務端的密碼,缺省為 taosdata
- -?, --help: 打印出所有命令行參數
示例:
taos -h h1.taos.com -s "USE db; SHOW TABLES;"
運行 SQL 命令腳本
TDengine 終端可以通過 SOURCE 命令來運行 SQL 命令腳本。
taos> SOURCE <filename>;
taos shell 小技巧
- 可以使用上下光標鍵查看歷史輸入的指令
- 修改用戶密碼:在 shell 中使用
ALTER USER命令,缺省密碼為 taosdata - Ctrl+C 中止正在進行中的查詢
- 執行
RESET QUERY CACHE可清除本地緩存的表 schema - 批量執行 SQL 語句。可以將一系列的 shell 命令(以英文 ; 結尾,每個 SQL 語句為一行)按行存放在文件里,在 shell 里執行命令
SOURCE <file-name>自動執行該文件里所有的 SQL 語句 - 輸入 q 回車,退出 taos shell
TDengine 極速體驗
使用 taosBenchmark 體驗寫入速度
啟動 TDengine 的服務,在 Linux 終端執行 taosBenchmark (曾命名為 taosdemo)。taosBenchmark 在 TDengine 2.4.0.7 和之前發布版本在 taosTools 安裝包中發布提供,在后續版本中 taosBenchmark 將在 TDengine 標準安裝包中發布。
taosBenchmark
該命令將在數據庫 test 下面自動創建一張超級表 meters,該超級表下有 1 萬張表,表名為 "d0" 到 "d9999",每張表有 1 萬條記錄,每條記錄有 (ts, current, voltage, phase) 四個字段,時間戳從 "2017-07-14 10:40:00 000" 到 "2017-07-14 10:40:09 999",每張表帶有標簽 location 和 groupId,groupId 被設置為 1 到 10, location 被設置為 "beijing" 或者 "shanghai"。
這條命令很快完成 1 億條記錄的插入。具體時間取決于硬件性能,即使在一臺普通的 PC 服務器往往也僅需十幾秒。
taosBenchmark 詳細功能列表
taosBenchmark 命令本身帶有很多選項,配置表的數目、記錄條數等等,請執行 taosBenchmark --help 詳細列出。您可以設置不同參數進行體驗。
taosBenchmark 詳細使用方法請參照 如何使用 taosBenchmark 進行性能測試。
使用 taos shell 體驗查詢速度
在 TDengine 客戶端輸入查詢命令,體驗查詢速度。
- 查詢超級表下記錄總條數:
taos> SELECT COUNT(*) FROM test.meters;
- 查詢 1 億條記錄的平均值、最大值、最小值等:
taos> SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
- 查詢 location="beijing" 的記錄總條數:
taos> SELECT COUNT(*) FROM test.meters WHERE location="beijing";
- 查詢 groupId=10 的所有記錄的平均值、最大值、最小值等:
taos> SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId=10;
- 對表 d10 按 10s 進行平均值、最大值和最小值聚合統計:
taos> SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.d10 INTERVAL(10s);
支持平臺列表
TDengine 服務端支持的平臺列表
| CentOS 7/8 | Ubuntu 16/18/20 | Other Linux | 統信 UOS | 銀河/中標麒麟 | 凝思 V60/V80 | 華為 EulerOS | |
|---|---|---|---|---|---|---|---|
| X64 | ● | ● | ○ | ● | ● | ● | |
| 龍芯 MIPS64 | ● | ||||||
| 鯤鵬 ARM64 | ○ | ○ | ● | ||||
| 申威 Alpha64 | ○ | ● | |||||
| 飛騰 ARM64 | ○ 優麒麟 | ||||||
| 海光 X64 | ● | ● | ● | ○ | ● | ● | |
| 瑞芯微 ARM64 | ○ | ||||||
| 全志 ARM64 | ○ | ||||||
| 炬力 ARM64 | ○ | ||||||
| 華為云 ARM64 | ● |
注: ● 表示經過官方測試驗證, ○ 表示非官方測試驗證。
TDengine 客戶端和連接器支持的平臺列表
目前 TDengine 的連接器可支持的平臺廣泛,目前包括:X64/X86/ARM64/ARM32/MIPS/Alpha 等硬件平臺,以及 Linux/Win64/Win32 等開發環境。
對照矩陣如下:
| CPU | X64 64bit | X86 32bit | ARM64 | ARM32 | MIPS 龍芯 | Alpha 申威 | X64 海光 | ||
|---|---|---|---|---|---|---|---|---|---|
| OS | Linux | Win64 | Win32 | Win32 | Linux | Linux | Linux | Linux | Linux |
| C/C++ | ● | ● | ● | ○ | ● | ● | ● | ● | ● |
| JDBC | ● | ● | ● | ○ | ● | ● | ● | ● | ● |
| Python | ● | ● | ● | ○ | ● | ● | ● | -- | ● |
| Go | ● | ● | ● | ○ | ● | ● | ○ | -- | -- |
| Node.js | ● | ● | ○ | ○ | ● | ● | ○ | -- | -- |
| C# | ● | ● | ○ | ○ | ○ | ○ | ○ | -- | -- |
| RESTful | ● | ● | ● | ● | ● | ● | ● | ● | ● |
注:● 表示官方測試驗證通過,○ 表示非官方測試驗證通過,-- 表示未經驗證。
請跳轉到 連接器 查看更詳細的信息。

