当前位置: 首页 > news >正文

TDengine IDMP 运维指南(4. 使用 Docker 部署)

在这里插入图片描述

使用 Docker 部署

本指南介绍如何使用 Docker/Docker Compose 的方式,实现 TDengine IDMP 和 TDengine TSDB-Enterprise 服务的搭建。

前置条件

  1. 本文适用 Docker 20.10 以上版本
  2. 本文适用 Docker Compose v1.29.2 以上版本

部署 TDengine TSDB-Enterprise 和 TDengine IDMP 服务

1. 克隆部署仓库

git clone https://github.com/taosdata/tdengine-idmp-deployment.git

该仓库包含了 TDengine IDMP 与 TSDB 的 Docker Compose 配置文件。

2. 启动服务

cd tdengine-idmp-deployment/docker
docker compose up -d

执行上述命令会自动拉取所需镜像并以后台方式启动所有服务容器。

3. 访问服务

默认情况下,TDengine IDMP 服务监听主机的 6042 端口。可通过以下地址访问管理界面:

  • http://localhost:6042
  • http://ip:6042

:::tip
如需修改端口,请编辑 docker-compose.yml 文件中的 ports 配置项。
:::

4. 停止服务

执行以下命令,会停止并移除所有通过 Compose 启动的容器,但不会删除数据卷。

docker compose down

如需清理数据,请添加 -v 参数:

docker compose down -v

部署 TDengine IDMP 服务

:::warning
TDengine IDMP 依赖 TDengine TSDB-Enterprise 3.3.7.0+
:::

如果您的环境中已存在满足要求的 TDengine TSDB-Enterprise 实例,您可以只启动 TDengine IDMP 容器,并将其连接至该 TDengine TSDB-Enterprise 实例。

1. 拉取 TDengine IDMP 镜像

docker pull tdengine/idmp-ee

2. 编辑 TDengine IDMP 配置文件

TDengine IDMP 的配置文件 application.yml 的示例如下:

quarkus:http:port: 6042 # IDMP server portlog:level: INFO # set the log level for IDMPfile:rotation:max-file-size: 300M  # max file size for log rotationmax-backup-index: "15" # max backup index for log rotation
tda:data-dir: /var/lib/taos/idmp  # data directoryindex-dir: /var/lib/taos/idmp/index # index directorylog-dir: /var/log/taos # all IDMP logs including IDMP server and AI server will be stored in this directoryai-server:url: http://localhost:8777 # AI server URLserver-url: http://localhost:6042 # public IDMP URLdefault-connection:enable: trueauth-type: UserPassword # can be set to UserPassword or Tokenurl: http://192.168.1.100:6041username: rootpassword: taosdatadefault-tdengine-db-name: idmp # default database used for IDMP in each TDengine connectiondefault-tdengine-db-create-sql: create database if not exists idmpdefault-tdengine-subscription-group: idmp # default subscription group name used for IDMP for each TDengine connectiondatasource:connection-batch-process-size: 10000 # batch size for processing TDengine SQLs.connection-timeout: 15 # timeout for TDengine connection in secondspool:max-size: 32  # the max of client connections to tdengine connectionmin-size: 1 # the min of client connections to tdengine connectioninitial-size: 5 # the initiated size of client connections to tdengine connectionjwt:ttl: 604800 # user token expired in 604800 seconds or 7 dayspermission-cache:expire-time: 3600 # permission cache expired for 3600 secondsanalysis:event:urls: ws://192.168.1.100:6042 # The websocket URI for tdengine to access IDMP server.event-types: # The event types for IDMP to use- WINDOW_OPEN- WINDOW_CLOSE

tda.default-connection 下,配置 TDengine TSDB-Enterprise 的连接信息,其中:

  • auth-type: 认证方式,支持 UserPassword 和 Token 两种方式,默认为方式 UserPassword
  • url: 为 TDengine TSDB-Enterprise 中 taosAdapter 组件的 IP 地址和端口号,端口号默认为 6041
  • username 和 password: 为 TDengine TSDB-Enterprise 的用户名和密码,默认为 root 和 taosdata

tda.analysis 下,envent.urls 为 TDengine TSDB-Enterprise 访问 IDMP 服务的 WebSocket 地址。

2. 启动 TDengine IDMP 容器

docker run -d \-p 6042:6042 \-v ./application.yml:/usr/local/taos/idmp/config/application.yml \--name tdengine-idmp \tdengine/idmp-ee

说明:

  • -p 选项,用于将​​容器的端口映射到主机的端口​​,使得外部可以通过主机的端口访问容器内运行的服务。如需自定义端口,例如:将 TDengine IDMP 服务的端口 6042 映射至主机的 7042 端口,可按照以下方式,修改端口映射参数 -p 7042:6042
  • -v 选项,用于挂载主机目录或卷到容器中,实现主机和容器之间的文件共享或持久化存储。在以上命令中,将主机当前目录下的 application.yml 文件挂载到容器内的 /usr/local/taos/idmp/config/application.yml 路径下。

3. 访问 TDengine IDMP 服务

默认情况下,服务监听主机的 6042 端口。可在浏览器访问:

  • http://localhost:6042
  • 或在其他设备通过 http://ip:6042 访问

4. 停止并移除容器

docker stop tdengine-idmp
docker rm tdengine-idmp

停止后数据不会保留,如需持久化数据请挂载数据卷。


关于 TDengine

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,其核心模块是高性能、集群开源、云原生、极简的时序数据库。

它能安全高效地将大量设备每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,并提供 AI 智能体对数据进行预测与异常检测,提供实时的商业洞察。

http://www.xdnf.cn/news/1329985.html

相关文章:

  • HarmonyOS 实战:学会在鸿蒙中使用第三方 JavaScript 库(附完整 Demo)
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码1
  • Orange的运维学习日记--47.Ansible进阶之异步处理
  • [Git] 如何拉取 GitHub 仓库的特定子目录
  • Qt——文件操作
  • word如何转换为pdf
  • 关于物理世界、感知世界、认知世界与符号世界统一信息结构的跨领域探索
  • 算法——快速幂
  • mycat分库分表实验
  • iOS App 混淆工具实战,教育培训类 App 的安全保护方案
  • [激光原理与应用-308]:光学设计 - 266皮秒深紫外激光器设计图纸示例解析(基于工程实现与专利技术)
  • 网络聚合链路与软件网桥配置指南
  • 从一个ctf题中学到的多种php disable_functions bypass 姿势
  • CNN 在故障诊断中的应用:原理、案例与优势
  • 机器人控制基础:串级 PID 和模糊 PID介绍与对比(干货总结)
  • Transformer十问
  • java17学习笔记-Deprecate the Applet API for Removal
  • LCC-LCC谐振式无线充电系统控制技术研究的复现
  • 期权小故事:王安石变法与期权
  • 前端本地模糊搜索1.0 按照匹配位置加权
  • 土地财政历史探寻
  • Diamond开发经验(1)
  • RabbitMQ:SpringAMQP Direct Exchange(直连型交换机)
  • 走进数字时代,融入数字生活,构建数字生态
  • Arthas 全面使用指南:离线安装 + Docker/K8s 集成 + 集中管理
  • 开源 C++ QT Widget 开发(一)工程文件结构
  • 猫头虎AI分享|字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent 下载、安装、配置、部署教程
  • Java NIO 核心精讲(上):Channel、Buffer、Selector 详解与 ByteBuffer 完全指南
  • Python量化交易:结合爬虫与TA-Lib技术指标分析
  • Vue2.x核心技术与实战(二)