IoTDB数据备份与恢复

iotdb A目录:/root/iotdb/apache-iotdb-2.0.6-all-bin

iotdb B目录:/root/iotdb/apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin

A与B的所有配置一样,都是单机模式,A中有数据,我需要将A的数据全部备份,然后把A关闭,然后把B打开,B要能全部加载A的数据

iotdb版本是 2.0.6

备份A的数据并关闭A
bash 复制代码
# 进入A目录
cd /root/iotdb/apache-iotdb-2.0.6-all-bin

# 停止A实例
./sbin/stop-standalone.sh

# 等待IoTDB完全停止
sleep 10

# 备份整个data目录
cp -r data/ /tmp/iotdb_data_backup/
# 或者压缩备份
tar -czvf /tmp/iotdb_data_backup.tar.gz data/

# 查看备份文件大小确认
du -sh /tmp/iotdb_data_backup/
2. 准备B的数据目录
shell 复制代码
# 进入B目录
cd /root/iotdb/apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin

# 停止B实例(如果正在运行)
./sbin/stop-standalone.sh

# 备份B的原始空数据目录(可选)
mv data/ data_backup/

# 复制A的数据到B
cp -r /root/iotdb/apache-iotdb-2.0.6-all-bin/data/ ./
3. 检查并确保配置文件一致
shell 复制代码
# 比较A和B的配置文件
cd /root/iotdb

# 比较主要配置文件
diff apache-iotdb-2.0.6-all-bin/conf/iotdb-system.properties \
     apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin/conf/iotdb-system.properties

# 比较数据目录配置
diff apache-iotdb-2.0.6-all-bin/conf/iotdb-common.properties \
     apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin/conf/iotdb-common.properties

特别注意检查以下配置项是否一致:

bash 复制代码
# 查看A的配置
grep -E "(data_dir|wal_dir|storage_group|timestamp_precision)" \
  apache-iotdb-2.0.6-all-bin/conf/iotdb-system.properties
  
# 查看B的配置
grep -E "(data_dir|wal_dir|storage_group|timestamp_precision)" \
  apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin/conf/iotdb-system.properties
4. 修改B的端口配置(避免与A冲突)

如果A和B需要在同一台机器上不同时运行,这步可跳过。如果要同时运行,需要修改端口:

bash 复制代码
# 修改B的conf/iotdb-common.properties
cd /root/iotdb/apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin

# 备份原始配置文件
cp conf/iotdb-common.properties conf/iotdb-common.properties.backup

# 修改端口(示例,将6667改为6668)
sed -i 's/rpc_port=6667/rpc_port=6668/' conf/iotdb-common.properties
sed -i 's/rpc_address=0.0.0.0/rpc_address=0.0.0.0/' conf/iotdb-common.properties
5. 启动B并验证数据
bash 复制代码
# 启动B实例
cd /root/iotdb/apache-iotdb-2.0.6-all-bin_2/apache-iotdb-2.0.6-all-bin
./sbin/start-standalone.sh

# 查看启动日志
tail -f logs/log_datanode_all.log

# 等待启动完成后,连接到B验证数据
./sbin/start-cli.sh -h 127.0.0.1 -p 6667

# 在CLI中执行验证命令
SHOW DATABASES;
COUNT DATABASES;
# 选择某个数据库查看时间序列
SHOW TIMESERIES;
# 查看存储组
SHOW STORAGE GROUP;

基本到这里就差不多了,现在启动的就是B,而且把A备份的数据也加载起来了

相关推荐
Flynn Liang19 小时前
物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)
flink·kafka·iot·iotdb·emqx·乱序·时序数据
骑着蜗牛撵大象3275 天前
一套引擎撑起树表双模型:Apache IoTDB 2.0 与 TsFile 的选型答卷
apache·时序数据库·iotdb·tsfile·树模型·表模型
wangbing112516 天前
开发指南149-IotDB-常用命令
linux·运维·iotdb
倔强的石头10616 天前
突破高基数瓶颈——国产替代浪潮下的时序选型
iotdb
一个天蝎座 白勺 程序猿22 天前
IoTDB集群扩容:从慌乱到从容的经验分享
数据库·wpf·时序数据库·iotdb
Apache IoTDB1 个月前
效能优化:IoTDB 性能调优的底层逻辑与实战路径
iotdb·技术大会
Apache IoTDB2 个月前
天谋科技 CTO 乔嘉林:多模态时序数智化软件栈
人工智能·科技·iotdb·技术大会
A-刘晨阳2 个月前
时序数据基础设施选型手册:Apache IoTDB 技术深度解析与性能实战
apache·iotdb
TDengine (老段)2 个月前
TDengine vs InfluxDB — 全方位对比
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·iotdb
pnoker2 个月前
IoT DC3 时序存储选型:四款数据库可插拔
数据库·物联网·postgresql·时序数据库·influxdb·tdengine·iotdb