1. 首页 > 软件下载 > 正文

IoTDB数据库下载-IoTDB最新版本下载地址-IoTDB数据库下载方法

1. IoTDB数据库简介

Apache IoTDB是Apache基金会开源的时序数据库,专为物联网场景设计。IoTDB以其轻量级架构、高吞吐量写入和丰富的查询功能著称,特别适合工业物联网和智能设备数据管理。更多学习教程www.fgedu.net.cn

IoTDB核心特点

轻量级架构:部署简单,资源占用低

高吞吐量:支持每秒千万级数据点写入

丰富查询:支持时间对齐、降采样、聚合等查询

多协议支持:支持MQTT、REST、JDBC等多种接口

双模型支持:支持树模型和表模型

2. IoTDB版本说明

Apache IoTDB提供多个版本,用户可根据需求选择。学习交流加群风哥微信: itpux-com

最新版本信息

IoTDB v2.0.2:最新稳定版本,支持树表双模型

IoTDB v1.3.7:稳定版本,广泛使用

IoTDB v1.2.x:历史稳定版本

IoTDB v0.14.x:历史长期支持版本

版本特性

v2.x版本:支持树表双模型,新增表模型权限管理

v1.x版本:稳定可靠,功能完整

v0.x版本:基础版本,功能相对较少

3. IoTDB下载地址

Apache IoTDB可以从官方网站或镜像站获取安装包。

官方下载地址

官方网站:https://iotdb.apache.org/Download/

GitHub仓库:https://github.com/apache/iotdb

Apache镜像:https://downloads.apache.org/iotdb/

下载安装包

# 下载IoTDB 1.3.7二进制包
# cd /fgeudb/software
# wget https://downloads.apache.org/iotdb/1.3.7/apache-iotdb-1.3.7-all-bin.zip

# 输出示例如下:
–2026-04-04 10:00:00– https://downloads.apache.org/iotdb/1.3.7/apache-iotdb-1.3.7-all-bin.zip
Resolving downloads.apache.org… 88.99.95.219
Connecting to downloads.apache.org|88.99.95.219|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/zip]
Saving to: ‘apache-iotdb-1.3.7-all-bin.zip’

apache-iotdb-1.3.7-all-bin.zip 100%[===================>] 100.00M 15.2MB/s in 6.6s

2026-04-04 10:00:10 (15.2 MB/s) – ‘apache-iotdb-1.3.7-all-bin.zip’ saved

# 验证下载文件
# ls -lh apache-iotdb-1.3.7-all-bin.zip
-rw-r–r–. 1 root root 100M Apr 4 10:00 apache-iotdb-1.3.7-all-bin.zip

生产环境建议:建议使用1.3.x稳定版本进行生产部署。v2.x版本支持树表双模型,适合新项目。from:www.itpux.com

4. 环境准备

在安装IoTDB之前,需要准备必要的系统环境和Java运行时。

系统要求

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)

# 检查系统架构
# uname -m
x86_64

# 检查内存和磁盘空间
# free -h
total used free shared buff/cache available
Mem: 31G 2.1G 28G 8.5M 1.0G 28G
Swap: 15G 0B 15G

# df -h /fgeudb
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 20G 480G 4% /fgeudb

# 安装JDK 11或更高版本
# yum install -y java-11-openjdk java-11-openjdk-devel

# 验证Java版本
# java -version

# 输出示例如下:
openjdk version “11.0.20” 2023-07-18 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.20+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.20+9-LTS, mixed mode, sharing)

# 配置JAVA_HOME
# vi /etc/profile.d/java.sh

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

# 使环境变量生效
# source /etc/profile.d/java.sh

5. 二进制包安装实战

使用二进制包安装是最简单的方式,以下是详细步骤。学习交流加群风哥QQ113257174

步骤1:解压安装包

# 安装unzip工具
# yum install -y unzip

# 解压安装包
# cd /fgeudb/software
# unzip apache-iotdb-1.3.7-all-bin.zip -d /fgeudb/

# 输出示例如下:
Archive: apache-iotdb-1.3.7-all-bin.zip
creating: /fgeudb/iotdb-1.3.7/
creating: /fgeudb/iotdb-1.3.7/conf/
creating: /fgeudb/iotdb-1.3.7/lib/
creating: /fgeudb/iotdb-1.3.7/sbin/
creating: /fgeudb/iotdb-1.3.7/tools/
inflating: /fgeudb/iotdb-1.3.7/LICENSE
inflating: /fgeudb/iotdb-1.3.7/NOTICE
inflating: /fgeudb/iotdb-1.3.7/README.md

# 重命名目录
# mv /fgeudb/iotdb-1.3.7 /fgeudb/iotdb

# 查看目录结构
# ls -la /fgeudb/iotdb/
total 16
drwxr-xr-x. 6 root root 4096 Apr 4 10:05 .
drwxr-xr-x. 3 root root 4096 Apr 4 10:00 ..
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 conf
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 lib
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 sbin
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 tools
-rw-r–r–. 1 root root 5120 Apr 4 10:05 LICENSE
-rw-r–r–. 1 root root 1024 Apr 4 10:05 NOTICE
-rw-r–r–. 1 root root 2048 Apr 4 10:05 README.md

步骤2:配置IoTDB

# 编辑配置文件
# vi /fgeudb/iotdb/conf/iotdb-env.sh

# 修改JVM参数
MAX_HEAP_SIZE=”4G”
HEAP_NEWSIZE=”1G”

# 编辑主配置文件
# vi /fgeudb/iotdb/conf/iotdb-engine.properties

# 主要配置参数
dn_rpc_address=0.0.0.0
dn_rpc_port=6667
dn_data_dirs=/fgeudb/iotdb/data
dn_wal_dirs=/fgeudb/iotdb/wal
dn_system_dir=/fgeudb/iotdb/system
dn_schema_dir=/fgeudb/iotdb/schema

# 元数据引擎配置
schema_engine_mode=Memory

# 存储引擎配置
timestamp_precision=ms
enable_wal=true
wal_mode=SYNC

# 保存配置文件

风哥提示:MAX_HEAP_SIZE根据服务器内存设置,建议设置为总内存的50%。dn_data_dirs建议配置在SSD磁盘上,提高性能。wal_mode设置为SYNC保证数据安全。

步骤3:启动IoTDB

# 启动IoTDB服务
# cd /fgeudb/iotdb/sbin
# ./start-standalone.sh

# 输出示例如下:
Starting IoTDB
Java version is 11.0.20
IoTDB started successfully, pid=12345

# 检查进程
# ps -ef | grep iotdb
root 12345 1 5 10:10 pts/0 00:00:10 /usr/lib/jvm/java-11-openjdk/bin/java -cp /fgeudb/iotdb/sbin/../lib/iotdb-server-1.3.7.jar org.apache.iotdb.db.service.IoTDB

# 检查端口
# netstat -tlnp | grep 6667
tcp 0 0 0.0.0.0:6667 0.0.0.0:* LISTEN 12345/java

步骤4:配置systemd服务

# 创建systemd服务文件
# vi /etc/systemd/system/iotdb.service

[Unit]
Description=Apache IoTDB Server
After=network.target

[Service]
Type=forking
User=root
Group=root
Environment=”JAVA_HOME=/usr/lib/jvm/java-11-openjdk”
Environment=”IOTDB_HOME=/fgeudb/iotdb”
ExecStart=/fgeudb/iotdb/sbin/start-standalone.sh
ExecStop=/fgeudb/iotdb/sbin/stop-standalone.sh
PIDFile=/fgeudb/iotdb/iotdb.pid
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

# 重新加载systemd
# systemctl daemon-reload

# 启动IoTDB服务
# systemctl start iotdb

# 设置开机自启
# systemctl enable iotdb

# 输出示例如下:
Created symlink from /etc/systemd/system/multi-user.target.wants/iotdb.service to /etc/systemd/system/iotdb.service.

# 检查服务状态
# systemctl status iotdb

● iotdb.service – Apache IoTDB Server
Loaded: loaded (/etc/systemd/system/iotdb.service; enabled)
Active: active (running) since Fri 2026-04-04 10:15:00 CST; 10s ago
Process: 12340 ExecStart=/fgeudb/iotdb/sbin/start-standalone.sh (code=exited, status=0/SUCCESS)
Main PID: 12345 (java)
CGroup: /system.slice/iotdb.service
└─12345 /usr/lib/jvm/java-11-openjdk/bin/java -cp …

6. Docker容器安装实战

使用Docker容器安装IoTDB是最快捷的方式,适合快速测试和开发环境。更多学习教程公众号风哥教程itpux_com

步骤1:拉取IoTDB镜像

# 拉取官方IoTDB镜像
# docker pull apache/iotdb:1.3.7-standalone

# 输出示例如下:
1.3.7-standalone: Pulling from apache/iotdb
f1f26f570256: Pull complete
8f8e43ef9c3a: Pull complete
e9d8dca5b8a5: Pull complete
a1b8d4c4a5e6: Pull complete
Digest: sha256:abc123def456…
Status: Downloaded newer image for apache/iotdb:1.3.7-standalone
docker.io/apache/iotdb:1.3.7-standalone

# 查看镜像
# docker images | grep iotdb
apache/iotdb 1.3.7-standalone abc123def456 2 weeks ago 500MB

步骤2:运行IoTDB容器

# 创建数据目录
# mkdir -p /fgeudb/iotdb/{data,wal,system}

# 运行IoTDB容器
# docker run -d \
–name iotdb \
-p 6667:6667 \
-p 31999:31999 \
-p 8181:8181 \
-v /fgeudb/iotdb/data:/iotdb/data \
-v /fgeudb/iotdb/wal:/iotdb/wal \
-e enable_wal=true \
apache/iotdb:1.3.7-standalone

# 输出示例如下:
abc123def456789…

# 检查容器状态
# docker ps | grep iotdb
abc123def456 apache/iotdb:1.3.7-standalone “/iotdb/sbin/start-s…” 10 seconds ago Up 9 seconds 0.0.0.0:6667->6667/tcp, 0.0.0.0:8181->8181/tcp iotdb

# 查看容器日志
# docker logs iotdb

# 输出示例如下:
2026-04-04 10:20:00.000 [main] INFO o.a.i.d.s.IoTDB:IoTDB started successfully
2026-04-04 10:20:00.100 [main] INFO o.a.i.d.s.IoTDB:IoTDB is listening on port 6667

7. IoTDB配置优化

以下是生产环境的IoTDB配置优化建议。

JVM配置优化

# 编辑JVM配置
# vi /fgeudb/iotdb/conf/iotdb-env.sh

# JVM参数配置
MAX_HEAP_SIZE=”8G”
HEAP_NEWSIZE=”2G”

# GC参数
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:+UseG1GC”
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:MaxGCPauseMillis=200″
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:ParallelGCThreads=8″
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:ConcGCThreads=2″
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:+HeapDumpOnOutOfMemoryError”
IOTDB_JMX_OPTS=”$IOTDB_JMX_OPTS -XX:HeapDumpPath=/fgeudb/iotdb/logs/heap_dump.hprof”

# 保存配置文件

存储引擎配置

# 编辑存储配置
# vi /fgeudb/iotdb/conf/iotdb-engine.properties

# 基础配置
dn_rpc_address=0.0.0.0
dn_rpc_port=6667
dn_internal_address=192.168.1.51
dn_data_dirs=/fgeudb/iotdb/data
dn_wal_dirs=/fgeudb/iotdb/wal
dn_system_dir=/fgeudb/iotdb/system
dn_schema_dir=/fgeudb/iotdb/schema

# 写入配置
enable_wal=true
wal_mode=SYNC
flush_thread_count=8
sync_thread_count=4
write_thread_count=16

# 压缩配置
enable_tsfile_compression=true
compress_mode=SNAPPY

# 合并配置
enable_auto_compaction=true
compaction_thread_count=4
merge_write_thread_count=4

# 查询配置
query_thread_count=16
read_consistency_level=strong

# 内存配置
allocate_memory_for_read=4G
allocate_memory_for_write=2G

# 保存配置文件

生产环境建议:MAX_HEAP_SIZE设置为总内存的50%。flush_thread_count根据CPU核心数设置。enable_wal设置为true保证数据安全。建议配置集群模式实现高可用。

8. 安装验证与测试

安装完成后,需要进行验证测试确保IoTDB正常运行。

使用CLI客户端连接

# 启动CLI客户端
# cd /fgeudb/iotdb/sbin
# ./start-cli.sh -h 192.168.1.51 -p 6667 -u root -pw root

# 输出示例如下:
Starting IoTDB Cli
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _ \
| | .–.|_/ | | \_| | | `. \ | |_) |
| | / (`–‘) | | | | | | | __’.
_| |_| `.___.’ _| |_ _| |_.’ /_| |__) )
|_____| |_____| |______.’|_______/

IoTDB Client version: 1.3.7
IoTDB>

# 查看版本
IoTDB> show version;

+—————+
| version|
+—————+
| 1.3.7 |
+—————+
Total line number = 1

# 查看服务器状态
IoTDB> show server info;

+———————-+———————-+
| ServerInfo| Value|
+———————-+———————-+
| System Version| 1.3.7|
| System BuildTime| 2025-03-04T07:52:00|
| System CPUUsage| 5.2%|
| System MemoryUsage| 45.6%|
+———————-+———————-+

创建存储组和时间序列

# 创建存储组
IoTDB> CREATE STORAGE GROUP root.ln;

# 输出示例如下:
Msg: The statement is executed successfully.

# 创建时间序列
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;

# 输出示例如下:
Msg: The statement is executed successfully.

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE;

# 输出示例如下:
Msg: The statement is executed successfully.

# 查看存储组
IoTDB> SHOW STORAGE GROUP;

+————-+
| StorageGroup|
+————-+
| root.ln |
+————-+
Total line number = 1

# 查看时间序列
IoTDB> SHOW TIMESERIES root.ln.**;

+—————————–+—–+——–+——–+
| Timeseries|Alias|DataType|Encoding|
+—————————–+—–+——–+——–+
|root.ln.wf01.wt01.temperature| null| FLOAT| RLE|
| root.ln.wf01.wt01.status| null| BOOLEAN| PLAIN|
+—————————–+—–+——–+——–+
Total line number = 2

插入和查询数据

# 插入数据
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status, temperature) VALUES (1712217600000, true, 25.5);

# 输出示例如下:
Msg: The statement is executed successfully.

IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status, temperature) VALUES (1712217601000, false, 26.3);

# 输出示例如下:
Msg: The statement is executed successfully.

IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status, temperature) VALUES (1712217602000, true, 27.1);

# 输出示例如下:
Msg: The statement is executed successfully.

# 查询数据
IoTDB> SELECT * FROM root.ln.wf01.wt01;

+—————————–+—————————–+————————+
| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|
+—————————–+—————————–+————————+
|2026-04-04T10:00:00.000+08:00| 25.5| true|
|2026-04-04T10:00:01.000+08:00| 26.3| false|
|2026-04-04T10:00:02.000+08:00| 27.1| true|
+—————————–+—————————–+————————+
Total line number = 3

# 聚合查询
IoTDB> SELECT COUNT(temperature), AVG(temperature), MAX_VALUE(temperature) FROM root.ln.wf01.wt01;

+—————————-+—————————–+—————————+
|COUNT(root.ln.wf01.wt01.temperature)|AVG(root.ln.wf01.wt01.temperature)|MAX_VALUE(root.ln.wf01.wt01.temperature)|
+—————————-+—————————–+—————————+
| 3| 26.300000000000000| 27.1|
+—————————-+—————————–+—————————+
Total line number = 1

# 退出客户端
IoTDB> quit;

REST API测试

# 使用curl测试REST API
$ curl -X POST “http://192.168.1.51:8181/rest/v1/sql” \
-H “Content-Type: application/json” \
-d ‘{“sql”: “SHOW STORAGE GROUP”}’

# 输出示例如下:
{
“code”: 200,
“message”: “SUCCESS”,
“result”: {
“columnNames”: [“StorageGroup”],
“columnTypes”: [“STRING”],
“values”: [[“root.ln”]]
}
}

# 插入数据
$ curl -X POST “http://192.168.1.51:8181/rest/v1/sql” \
-H “Content-Type: application/json” \
-d ‘{“sql”: “INSERT INTO root.ln.wf01.wt01(timestamp, temperature) VALUES (1712217603000, 28.0)”}’

# 输出示例如下:
{
“code”: 200,
“message”: “SUCCESS”
}

# 查询数据
$ curl -X POST “http://192.168.1.51:8181/rest/v1/sql” \
-H “Content-Type: application/json” \
-d ‘{“sql”: “SELECT * FROM root.ln.wf01.wt01”}’

# 输出示例如下:
{
“code”: 200,
“message”: “SUCCESS”,
“result”: {
“columnNames”: [“Time”, “root.ln.wf01.wt01.temperature”, “root.ln.wf01.wt01.status”],
“columnTypes”: [“LONG”, “FLOAT”, “BOOLEAN”],
“values”: [
[1712217600000, 25.5, true],
[1712217601000, 26.3, false],
[1712217602000, 27.1, true],
[1712217603000, 28.0, null]
]
}
}

生产环境建议:建议配置集群模式实现高可用。定期备份数据目录。监控关键指标如写入QPS、查询延迟、内存使用率。建议使用SSD磁盘存储数据。

至此,IoTDB数据库的下载和安装已完成。后续可以根据实际业务需求创建存储组、时间序列和配置集群。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息