Apache IoTDB开发之同步工具

简介: 在同步的发送端,同步模块是一个单独的进程,独立于 IoTDB 进程。同步的频率周期可以由用户设置。在同步的接收端,同步模块嵌入在IoTDB的引擎中,与IoTDB处于同一过程。接收器模块侦听一个单独的端口,该端口可由用户设置(有关详细信息,请参阅部分)。在使用之前,需要在同步接收器处设置白名单,以网段表示。接收方仅接受从位于白名单段中的发送方传输的数据。

同步工具简介

同步工具是一个 IoTDB 套件工具,可定期将持久 tsfile 从发送端磁盘上传到接收方并加载它们。在同步的发送端,同步模块是一个单独的进程,独立于 IoTDB 进程。同步的频率周期可以由用户设置。在同步的接收端,同步模块嵌入在IoTDB的引擎中,与IoTDB处于同一过程。接收器模块侦听一个单独的端口,该端口可由用户设置(有关详细信息,请参阅部分)。在使用之前,需要在同步接收器处设置白名单,以网段表示。接收方仅接受从位于白名单段中的发送方传输的数据。

同步工具具有多对一发送方-接收方模式 - 即,一个同步接收方可以同时从多个同步发送方接收数据,而一个同步发送方只能将数据发送到一个同步接收方。

注意:在使用同步工具之前,需要单独配置客户端和服务器。配置部分中详细介绍了配置。

应用场景

在工厂应用的情况下,通常有多个子工厂和多个通用(主)工厂。每个子工厂使用一个IoTDB实例收集数据,然后将数据同步到通用工厂进行备份或分析。一个总工厂可以从多个子工厂接收数据,一个子工厂也可以将数据同步到多个一般工厂。在此场景中,每个 IoTDB 实例管理不同的设备。

在同步模块中,每个子工厂都是一个发送方,一般工厂是接收方,发送方定期将数据同步到接收方。在上述应用场景中,一台设备的数据只能由一个发送方采集,因此多个发送方同步的数据之间不存在设备重叠。否则,不满足同步模块的应用场景。

当出现异常情况时,即两个或多个发送方将同一设备(其存储组设置为 root.sg)的数据同步到同一接收方,发送方包含接收方稍后收到的设备数据的 root.sg 数据将被拒绝。示例:引擎 1 将存储组 root.sg1 和 root.sg2 同步到接收器,引擎 2 将存储组 root.sg2 和 root.sg3 同步到接收器。所有这些都包括时间序列 root.sg2.d0.s0。如果接收方先接收到发送方 2 的 root.sg0.d0.s1 的数据,接收方将拒绝发送方 2 的 root.sg2 的数据。

配置

同步接收器

同步接收机的参数配置位于IoTDB的配置文件中,其目录为。在此配置文件中,有四个与同步接收器相关的参数。配置说明如下:iotdb-engine.properties$IOTDB_HOME/conf/iotdb-engine.properties

参数:is_sync_enable
描述 同步功能开关,配置为 true 以指示允许接收方从发送方接收数据并加载数据。设置为 false 时,表示不允许接收方从任何发送方接收数据。
类型 布尔
违约
修改后生效的方式 重新启动接收器
参数:IP_white_list
描述 设置发件人IP白名单,以网段的形式表示,多个网段之间用逗号分隔。当发送端向接收方传输数据时,只有当发送端的IP地址在白名单设置的网段内时,接收方才能允许同步操作。如果白名单为空,则接收方不允许任何发送方同步数据。默认接收器接受所有 IP 同步请求。
类型 字符串
违约 0.0.0.0/0
修改后生效的方式 重新启动接收器
参数:sync_server_port
描述 同步接收器端口以侦听。确保该端口不是系统保留端口,并且未被占用。仅当参数 is_sync_enable 设置为 TRUE 时,此参数才有效。
类型 短线 : [0,65535]
违约 5555
修改后生效的方式 重新启动接收器

同步发送方

同步发送方的参数在单独的配置文件 iotdb-sync-client.properties 中配置,安装目录为 。在此配置文件中,有五个与同步发送方相关的参数。配置说明如下:$IOTDB_HOME/conf/iotdb-sync-client.properties

参数:server_ip
描述 同步接收器的 IP 地址。
类型 字符串
违约 127.0.0.1
修改后生效的方式 重新启动客户端
参数:server_port
描述 同步接收机的监听端口,需要保证端口与接收机中设置的监听口配置一致。
类型 短线 : [0,65535]
违约 5555
修改后生效的方式 重新启动客户端
参数:sync_period_in_second
描述 同步过程的时间段,时间单位为秒。
类型 国际 : [0,2147483647]
违约 600
修改后生效的方式 重新启动客户端
参数:iotdb_schema_directory
描述 发送方 IoTDB 架构文件的绝对路径,如 $IOTDB_HOME/data/system/schema/mlog.txt(如果用户没有手动设置架构元数据的路径,则路径为 IoTDB 引擎的默认路径)。默认情况下,此参数无效,在用户需要时手动设置。
类型 字符串
修改后生效的方式 重新启动客户端
参数:sync_storage_groups
描述 此参数表示参与同步任务的存储组,同步任务用逗号区分每个存储组。如果列表为空,则表示所有存储组都参与同步。默认情况下,它是一个空列表。
类型 字符串
root.sg1, root.sg2
修改后生效的方式 重新启动客户端
参数:max_number_of_sync_file_retry
描述 将文件同步到接收器失败时的最大重试次数。
类型 国际 : [0,2147483647]
5
修改后生效的方式 重新启动客户端

用法

启动同步接收器

  1. 设置同步接收器的参数。例如:
  2. 启动 IoTDB 引擎,同步接收机将同时启动,LOG 日志将以指示返回接收机启动成功的句子开头。IoTDB: start SYNC ServerService successfully

停止同步接收器

停止 IoTDB,同步接收器将同时关闭。

启动同步发送程序

  1. 设置同步发送方的参数。例如:
  2. 启动同步发送程序 用户可以使用文件夹下的脚本启动同步发送程序。对于 Linux 和 Mac OS X 用户:$IOTDB_HOME/bin
  3. Shell >$IOTDB_HOME/bin/start-sync-client.sh

对于 Windows 用户:

  1. Shell >$IOTDB_HOME\bin\start-sync-client.bat

停止同步发送程序

用户可以使用文件夹下的脚本来停止同步发送程序。对于 Linux 和 Mac OS X 用户:$IOTDB_HOME/bin

  1. Shell >$IOTDB_HOME/bin/stop-sync-client.sh

对于 Windows 用户:

  1. Shell >$IOTDB_HOME\bin\stop-sync-client.bat
相关文章
|
5月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
128 1
|
3月前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
35 2
|
3月前
|
存储 物联网 数据处理
如何使用 Apache IoTDB UDF
【10月更文挑战第21天】使用 Apache IoTDB 的 UDF 可以为用户提供更大的灵活性和扩展性,帮助用户更好地处理和分析物联网数据。通过合理编写和使用 UDF,用户可以充分发挥 IoTDB 的潜力,实现更复杂、更高效的数据处理和分析任务。
58 2
|
5月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
202 9
Apache IoTDB进行IoT相关开发实践
|
5月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
65 1
|
5月前
|
Apache 开发者 Java
Apache Wicket揭秘:如何巧妙利用模型与表单机制,实现Web应用高效开发?
【8月更文挑战第31天】本文深入探讨了Apache Wicket的模型与表单处理机制。Wicket作为一个组件化的Java Web框架,提供了多种模型实现,如CompoundPropertyModel等,充当组件与数据间的桥梁。文章通过示例介绍了模型创建及使用方法,并详细讲解了表单组件、提交处理及验证机制,帮助开发者更好地理解如何利用Wicket构建高效、易维护的Web应用程序。
64 0
|
6月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是专为物联网(IoT)设计的开源时间序列数据库,提供数据收集、存储、管理和分析。它支持高效的数据写入、查询,适用于处理大规模物联网数据,包括流数据、时间序列等。IoTDB采用轻量级架构,可与Hadoop和Spark集成,支持多种存储策略,确保数据安全和高可用性。此外,它还具有InfluxDB协议适配器,允许无缝迁移和兼容InfluxDB的API和查询语法,简化物联网项目的数据管理。随着物联网设备数量的快速增长,选择适合的数据库如IoTDB对于数据管理和分析至关重要。
266 12
|
6月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
The article introduces IoTDB, an open-source time-series database designed for efficient management of IoT-generated data. It addresses challenges like real-time integration of massive datasets and security. IoTDB supports high-performance storage,
154 0
Apache IoTDB进行IoT相关开发实践
|
5月前
|
安全 搜索推荐 数据挖掘
文件解析的终极工具:Apache Tika
文件解析的终极工具:Apache Tika
304 0
|
6月前
|
安全 Java Apache
如何安装与使用Spring Boot 2.2.x、Spring Framework 5.2.x与Apache Shiro 1.7进行高效开发
【7月更文第1天】在现代Java Web开发领域,Spring Boot以其简化配置、快速开发的特点备受青睐。结合Spring Framework的成熟与Apache Shiro的强大权限控制能力,我们可以轻松构建安全且高效的Web应用。本篇文章将指导你如何安装并使用Spring Boot 2.2.x、Spring Framework 5.2.x以及Apache Shiro 1.7来构建一个具备基础权限管理功能的项目。
98 0

热门文章

最新文章

推荐镜像

更多