docker 部署 Apache IoTDB

一、基本概念 IoTDB是一款针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点,完美对接Hadoop与Spark生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求 。是一款专为物联网时序数据打造的数据库,提供数据采集、存储、分析的功能。它具有体量轻、性能高、易使用的特点,完美对接Hadoop与Spark生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求 。IoTDB是清华大学主导的Apache孵化项目,是Apache Flink、Apache Spark等大数据开源项目的核心组件之一。

IoTDB的架构采用存储和查询分离的架构,将底层存储开放给上层应用,一份数据既支持实时查询,也支持大数据分析,避免了数据迁移代价。
IoTDB的功能特点包括:

开放的架构:采用存储和查询分离的架构,将底层存储开放给上层应用,一份数据既支持实时查询,也支持大数据分析,避免了数据迁移代价。- 新型文件格式:采用了新型文件格式,支持高效的压缩和索引算法,提高了存储效率和查询速度。- 高性能:通过优化查询算法和数据结构,提高了查询效率和响应速度。- 易使用:支持SQL语言、JDBC标准API和易于使用的导入/导出工具。与先进的开放源码生态系统无缝集成。

二、docker下的部署

使用Docker来部署IotDB,并将其文件映射到/opt/IotDB目录下。

  1. 下载IoTDB的Docker镜像:在终端中输入以下命令,以从Docker Hub下载IoTDB的最新版本的Docker镜像:
bash 复制代码
docker pull apache/iotdb
  1. 创建一个本地目录,用于存储IoTDB的数据文件:
bash 复制代码
mkdir -p /data/IotDB
  1. 将本地目录挂载到容器中的/opt/IotDB目录下:
bash 复制代码
docker run -d \
  -p 6667:6667 \     # IoTDB 客户端端口(JDBC、Thrift协议)
  -p 31999:31999 \   # IoTDB 的DataNode RPC端口(集群间通信)
  -p 8181:8181 \     # IoTDB 的Web服务端口(监控、REST API)
  --name some-iotdb \ # 容器名称
  apache/iotdb \     # Docker镜像名称
  -m /data/IotDB     # 挂载点参数(指定数据存储路径)
  1. 现在,您可以将数据文件复制到本地目录中,并使用Tsfile格式进行存储。例如,将数据文件复制到/data/IotDB目录下:
bash 复制代码
cp your_data_file.tsfile /data/IotDB

5、进入容器:

bash 复制代码
docker exec -it some-iotdb /bin/bash
  1. 在IoTDB容器中启动Tsfile存储引擎:
bash 复制代码
start-tsfile.sh

开启 Mqtt 服务

进入iotdb的docker

bash 复制代码
docker exec -it ad9b18f8bff3 /bin/bash 

编辑配置文件

bash 复制代码
vi iotdb/conf/iotdb-engine.properties

开启服务,根据自己的需要,配置ip和端口等。

bash 复制代码
####################
### MQTT Broker Configuration
####################

# whether to enable the mqtt service.
enable_mqtt_service=false   # 修改成 true , 代表开启 mqtt服务

# the mqtt service binding host.
mqtt_host=0.0.0.0 # ip

# the mqtt service binding port.
mqtt_port=1883  # 端口

# the handler pool size for handing the mqtt messages.
mqtt_handler_pool_size=1

# the mqtt message payload formatter.
mqtt_payload_formatter=json  # 数据格式

# max length of mqtt message in byte
mqtt_max_message_size=1048576

重启服务,如果不会,就重启docker镜像。

iotdb 基础操作

bash 复制代码
启动服务: sbin/start-client.sh
root@ad9b18f8bff3:/iotdb/sbin# 
./start-cli.sh

官方仓库说明:

bash 复制代码
https://hub.docker.com/r/verdureorange/iotdb_arm

直接拉取镜像:

bash 复制代码
docker pull verdureorange/iotdb_arm:v0.13
相关推荐
zyu6715 小时前
03-Docker存储和网络
网络·docker·容器
牛奔16 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
青州从事52121 小时前
20260108【mac】【brew】【docker】安装
macos·docker·eureka
菜鸟思维1 天前
优化NextJs 项目的Docker 镜像 从3.62G 优化到 296.85M
docker
怣疯knight1 天前
Docker Desktop 4.55.0版本安装成功教程
windows·docker
东方佑1 天前
使用Docker Compose一键部署OnlyOffice:完整指南与配置解析
运维·docker·容器
SeaTunnel1 天前
Apache SeaTunnel 2025 案例精选重磅发布!
大数据·开源·apache·seatunnel·案例
赵文宇(温玉)1 天前
Docker的价值、特点、创新与关键技术
运维·docker·容器
Coder码匠1 天前
Docker Compose 部署 Spring Boot 应用完全指南
spring boot·docker·容器
可爱又迷人的反派角色“yang”1 天前
k8s(二)
linux·运维·docker·云原生·容器·kubernetes·云计算