Apache IoTDB开发之同步工具

举报
小云悠悠zZ 发表于 2023/08/30 16:19:57 2023/08/30
【摘要】 在同步的发送端,同步模块是一个单独的进程,独立于 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. 设置同步接收器的参数。例如:同步工具 - 图1
  2. 启动 IoTDB 引擎,同步接收机将同时启动,LOG 日志将以指示返回接收机启动成功的句子开头。IoTDB: start SYNC ServerService successfully同步工具 - 图2

停止同步接收器

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

启动同步发送程序

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

对于 Windows 用户:

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

同步工具 - 图4

停止同步发送程序

用户可以使用文件夹下的脚本来停止同步发送程序。对于 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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。