运行中Apache IoTDB存储组复制至其他服务器的操作疑问咨询
Apache IoTDB 存储组跨服务器复制指南
是否需要停止运行中的IoTDB?
分两种场景处理:
- 离线复制:必须停止源服务器的IoTDB服务。运行中的IoTDB会持续写入数据到存储文件,直接拷贝会导致文件损坏、数据不一致。
- 在线复制:无需停止服务。可使用IoTDB内置的
EXPORT STORAGE GROUP和IMPORT STORAGE GROUP命令,或通过DataSync等同步工具实现实时/增量复制,全程不影响源服务运行。
需要拷贝哪些文件(离线场景)?
若选择离线复制,需拷贝以下与目标存储组相关的文件:
- 存储组数据文件:位于IoTDB安装目录的
data文件夹,按存储组层级存放。例如存储组root.sg1对应路径为data/root/sg1,需拷贝该目录下所有.tsfile、.resource、.manifest文件。 - 元数据文件:拷贝
metadata目录下的mnode相关文件(如mnode.bin、mnode-*.sst),确保目标服务器能识别存储组的Schema信息。
注意:如果目标服务器已有同名存储组,需先删除对应目录或清空原有数据,避免冲突。
完成后是否需要删除文件?
- 源服务器:无需删除任何文件,复制操作不会影响原数据保留。若为迁移(而非复制),确认目标服务器数据正常后可删除源服务器对应存储组的文件。
- 目标服务器:若使用在线导出/导入方式,导出生成的临时文件(如
.exp格式的导出包)在导入完成后可手动删除;离线拷贝的文件无需删除,它们会被IoTDB正常加载使用。
内容的提问来源于stack exchange,提问作者leonbear
相关产品推荐
相关产品推荐

