TDEngine - taosdump的安装与使用实战

news2024/12/20 14:42:13

taosdump的安装与使用实战

  • 一、taosdump简介
  • 二、下载
  • 三、安装
  • 四、taosdump主要参数
  • 五、taosdump数据导出(备份)
  • 六、taosdump数据导入
  • 七、不同版本的数据迁移
    • 7.1 问题:报错- create database 语句不一致
    • 7.2 解决:修改导出的dbs.sql

一、taosdump简介

TDEngine官网 - 参考手册:taosdump

  taosdump 是一个支持从运行中的 TDengine 集群备份数据并将备份的数据恢复到相同或另一个运行中的 TDengine 集群中的工具应用程序。
  taosdump 可以用数据库、超级表或普通表作为逻辑数据单元进行备份,也可以对数据库、超级 表和普通表中指定时间段内的数据记录进行备份。使用时可以指定数据备份的目录路径,如果 不指定位置,taosdump 默认会将数据备份到当前目录。
  如果指定的位置已经有数据文件,taosdump 会提示用户并立即退出,避免数据被覆盖。这意味着同一路径只能被用于一次备份。 如果看到相关提示,请小心操作。
  taosdump 是一个逻辑备份工具,它不应被用于备份任何原始数据、环境设置、 硬件信息、服务端配置或集群的拓扑结构。taosdump 使用 Apache AVRO 作为数据文件格式来存储备份数据。

二、下载

  taosTools工具包,包含备份taosdump和taosBenchmark工具,不能单独使用,需要先安装客户端和服务端。客户端和服务端安装参考链接:TDEngine3.0环境安装及配置
  taosTools下载链接:TDEngine官网 - taosTools发布历史页面

tips:
1、下载的版本最好与实际安装的TDEngine Server版本对应,实际的安装包后缀与server的后缀部不是一致的
2、server 2.0版本之后的建议下载1.4.5之后版本
3、如果安装之后,taos服务可以正常启动,但是运行taosdump时异常:缺少.so文件,大概率是因为版本不匹配,建议更换taostools版本。

  因为我这边安装的TDEngine Server版本是3.4.0.2(server安装参考,对应下载的taostools版本为:taosTools-2.1.3-Linux-x64.tar.gz
  注意:最好不要在同一个系统上,同时使用rpm 、tar 、 deb安装。如果服务端用的是.tar.gz形式安装,客户端和taostools最好也用.tar.gz形式安装。

三、安装

1.创建目录,并将下载的文件传输至目录:

mkdir /home/tdengine
  1. 解压缩:tar -zxvf taosTools-2.1.3-Linux-x64.tar.gz
    查看加压缩后的目录:
#查看解压缩后的目录
ls
#进入解压缩后的目录
 cd taosTools-2.1.3
#查看目录下的文件内容
ls

11
3.执行安装命令:./install-taostools.sh

卸载命令:./uninstall-taostools.sh

1
安装成功后,进入taos shell命令查看安装是否成功。

四、taosdump主要参数

  taosdump 的导出行为的本质其实是使用 SQL 进行查询,将数据压缩后输出到本地,导入行为则是通过 STMT 接口再把导出的数据导入新的环境。因此,能够顺利完成数据导出的用户,应尽量拥有如下几个特征:
(1)拥有足够磁盘空间,建议需要至少留出 du -sh $dataDir/vnode --exclude=‘wal’ 大小的 3 倍空间(多多益善)。但如果是按照库/表为单位分批导出,或者指定时间范围导出的话,就比较灵活了。
(2)数据库日常使用负载不高,在大量导出 SQL 执行时,数据库仍有充足资源可以保障正常生产使用。
(3)待迁移的数据为测试环境不需担心影响业务,或者生产环境的业务间歇期足够完成数据的导出。
  只要磁盘空间充足,时间充足,就可以完成导出操作。导入则相对简单,没有额外需求,按照正常的数据库部署思路即可。

taosdump主要参数
-o:指定输出文件的路径。文件会自动生成。一个dbs.sql文件,导出数据库、超级表;若干个XXX_tables.N.sql文件,文件名的规则:XXX是数据库名称,N是数字,从0开始递增
-u:用户名。
-p:密码。
-A:指示导出所有数据库的数据。
-D:表示指定数据库。
-i:表示输入目录。
-s:表示导出schema。
-t:指定导入到一个文件的表的个数。该参数可以控制输出文件的大小。(网上很多博客里面都有记录这个参数,但是好像taosdump已经不用这个参数了)
-B:指定一条import语句中包含记录的条数。注意:不要让sql语句超过64k,否则后续导入会出错。该参数为了后续导入时,提高导入速率。
-T: 指定导出数据时,启动的线程数。建议设置成机器上core的2倍。

可以通过 命令 taosdump --help 获取参数信息

五、taosdump数据导出(备份)

 ./bin/taosdump -o <导出存放目录>  -D 需要导出的数据库

1.创建导出目录

#创建存放数据总目录
mkdir /home/tdengine/taosdump
#创建本次导出存放目录
mkdir /home/tdengine/taosdump/data20230602
#进入存放目录
cd /home/tdengine/taosdump/data20230602

2.执行导出命令:

#进入taostool的安装目录
cd /home/tdengine/taosTools-2.1.3
#查看该目录下是否有bin目录
ls
#执行命令导出
 ./bin/taosdump -o /home/tdengine/taosdump/data20230602/  -D tljd_datan

1

如果是通过rpm形式安装的taostools可以在任意目录下执行taosdump命令,不需要./bin/,格式示例:taosdump -o /taosdump/data20230602/ -A
1
3.查看导出的文件:

#进入刚指定的导出目录
cd /home/tdengine/taosdump/data20230602/
#查看是否已存在备份文件
ls

`

六、taosdump数据导入

 ./bin/taosdump -i <导入的数据存放目录> 

1.进入taostools安装目录:

 cd /home/tdengine/taosTools-2.1.3
  1. 执行命令:taosdump -i <data dir>
#如:
./bin/taosdump -i /home/tdengine/taosdump/data20230602/

1

七、不同版本的数据迁移

参考链接:如何把数据从 TDengine 2.x 迁移到 3.x ?
参考链接:如何把数据从 TDengine 2.x 迁移到 3.x ?
迁移背景:
1、数据导出:将TDEngine2.4.0.16中数据通过taostools.1.4.5中的taosdump工具将数据导出。
2、数据导入:在TDEngine3.0.4.2中通过taostools.2.1.3中的taosdump工具将数据导入。

7.1 问题:报错- create database 语句不一致

导入时报错:create database 语句不一致
1
对别导出的dbs.sql中数据库的创建语句,和TDEngine3.0中的数据创建语句:

#查看数据库创建语句
SHOW CREATE DATABASE  数据库名称  \G;

对比两边的创建语句,发现语句不相同:
1

7.2 解决:修改导出的dbs.sql

 修改导出的dbs.sql中的create database语句,删除create database语句中默认的参数设置,只保留需要特别设置的属性。

CREATE DATABASE IF NOT EXISTS 库名称  [KEEP 保留时间][..其他必要设置];

比如我的数据库需要设置保留天数1825天(5年),其他的参数不需要特别注意,将语句修改为:

CREATE DATABASE IF NOT EXISTS test KEEP 1825d;

修改前的2.0语句为:
1
修改后的语句为:
·
再执行导入:

./bin/taosdump -i /home/tdengine/taosdump/datatest/

这一次成功了:
1

tips:
如果你还出现其他的错误,根据提示,对比2.0和3.0版本中的语句差异,调整sql文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MTK平台的SWT异常的简单总结(2)——SWT原理和分析

&#xff08;1&#xff09;原理性 &#xff08;2&#xff09;SWT如何抓取Log 遇到SWT问题详细可参考MTK提供的FAQ&#xff1a;SWT机制介绍。 获取Ap Log的路径&#xff1a;/sdcard/debuglogger/mobilelog/APLog_XXXXX 获取db的路径&#xff1a;/data/aee_exp 如果db没有打包…

RK3288 Android5.1添加WiFiBT模块AP6212

CPU&#xff1a;RK3288 系统&#xff1a;Android 5.1 注&#xff1a;RK3288系统&#xff0c;目前 Android 5.0 Kernel 3.10 SDK 支持 Braodcom,Realtek 等 WiFi BT 模块 各个 WiFi BT 模块已经做到动态兼容&#xff0c;Android 上层不再需要像以前一样进 行特定宏的配置 此…

华为OD机试真题 Java 实现【关联子串】【2023Q1 100分】,附详细解题思路

一、题目描述 给定两个字符串str1和str2&#xff0c; str1进行排列组合只要有一个为str2的子串则认为str1是str2的关联子串&#xff0c; 请返回子串在str2的起始位置&#xff0c;若不是关联子串则返回-1。 二、输入描述 qwe dsgfasgfwe 三、输出描述 -1 四、解题思路 …

遇到大数据处理,你会怎么办?快来看一下位图和布隆过滤器(下)

目录 前文 一&#xff0c;为什么有布隆过滤器 二&#xff0c;什么是布隆过滤器 三&#xff0c;布隆过滤器的实现 四&#xff0c;布隆过滤器的优缺点 4.1 布隆过滤器的优点 4.2 布隆过滤器的缺点及其改进方式 4.2.1 查找误判及其改进方式分析 4.2.2 不能删除以及改进方式分…

【HTML】第 1 节 - HTML 初体验

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 。 时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、HTML 概念 2.1、HTML 定义 2.2、标签语法 3、HTML 基本骨架 4、标签的关系 5、注释 6、总结 1、缘起 最近在学习微信小程…

程序员0基础转行大数据年薪25万,只因我做了这件事...

现在我在成都的一家企业做大数据架构师&#xff0c;一个月税前可以拿到20k&#xff0c;还有项目奖金&#xff0c;一年下来最少也能拿25万。生活和工作也都在有条不紊地运转&#xff0c;每天也会有新的挑战&#xff0c;这正是我想要的生活。 01 机械工程专业 但我决定转行互联…

SpringBoot自定义starter之接口日志输出

文章目录 前言文章主体1 项目全部源码2 项目结构介绍3 starter 的使用3.1 配置文件 application,yml的内容3.2 启动类3.3 控制器类 4 测试结果 结语 前言 本文灵感来源是一道面试题。 要求做一个可以复用的接口日志输出工具&#xff0c;在使用时引入依赖&#xff0c;即可使用。…

MySQL数据库 10.DCL操作

目录 &#x1f914; 前言&#xff1a; &#x1f914;DCL介绍&#xff1a; &#x1f914;1.DCL管理用户&#xff1a; 1.查询用户&#xff1a; 图示&#xff1a; 2.创建用户 示例1&#xff1a; 运行结果&#xff1a;​ 示例2&#xff1a; 运行结果&#xff1a;​ 3.修改…

算法修炼之筑基篇——筑基一层中期(解决01背包,完全背包,多重背包)

✨博主&#xff1a;命运之光​​​​​​ &#x1f984;专栏&#xff1a;算法修炼之练气篇​​​​​ &#x1f353;专栏&#xff1a;算法修炼之筑基篇 ✨博主的其他文章&#xff1a;点击进入博主的主页​​​​​​ 前言&#xff1a;学习了算法修炼之练气篇想必各位蒟蒻们的基…

安全——网络安全协议的引入

TCP/IP安全缺陷 信息泄露 概述 网络中投递的报文往往包含账号、口令等敏感信息&#xff0c;若这些信息泄露则是灾难性的后果。其中嗅探是一种常见而隐蔽的网络攻击手段。 嗅探 概述 问题&#xff1a;在共享式网络架构下&#xff0c;所有的数据都是以广播方式进行发送&…

程序员大专毕业,月薪2w是什么体验?

在这个数据驱动的时代&#xff0c;大数据行业的发展前景也非常广阔&#xff0c;我相信我的未来会越来越光明 01 开始学习 是迈向前方的第一步 我是三月&#xff0c;一个来自小城市的大专毕业生。现在在杭州一家公司做大数据开发工程师&#xff0c;目前薪资是20k*13。 我本身…

运维小白必学篇之基础篇第十三集:网络概述中继实验

网络概述中继实验 实验作业&#xff08;主机名为自己的名字&#xff09;&#xff1a; 1、搭建中继环境&#xff0c;要求如下&#xff1a; 网络要求&#xff1a; 内网&#xff1a;192.168.50.50 网关&#xff1a;192.168.50.254 192.168.60.254 外网&#xff1a;192.168.60.60 主…

【论文阅读】An Object SLAM Framework for Association, Mapping, and High-Level Tasks

一、系统概述 这篇文章是一个十分完整的物体级SLAM框架&#xff0c;偏重于建图及高层应用&#xff0c;在前端的部分使用了ORBSLAM作为基础框架&#xff0c;用于提供点云以及相机的位姿&#xff0c;需要注意的是&#xff0c;这篇文章使用的是相机&#xff0c;虽然用的是点云这个…

DevOps该怎么做?

年初在家待了一段时间看了两本书收获还是挺多的. 这些年一直忙于项目, 经历了软件项目的每个阶段, 多多少少知道每个阶段是个什么, 会做哪些事情浮于表面, 没有深入去思考每个阶段背后的理论基础, 最佳实践和落地工具. 某天leader说你书看完了, 只有笔记没有总结, 你就写个总结…

小白必看!轻松理解和解决MySQL幻读问题!

大家好&#xff0c;我是小米&#xff01;今天我来给大家分享一下关于MySQL数据库中常见的一个问题——幻读&#xff0c;以及如何解决它。相信对于数据库开发和管理的小伙伴们来说&#xff0c;幻读是一个相对棘手的问题&#xff0c;但只要我们掌握了正确的解决方法&#xff0c;它…

网络故障管理

网络故障管理是以最快的方式查找、隔离和排除网络故障的过程。故障管理是网络管理的重要组成部分&#xff0c;它通过快速解决故障来最大限度地减少停机时间并防止设备故障&#xff0c;从而确保最佳的网络可用性并防止业务损失。 网络故障监控是故障管理的第一步&#xff0c;因…

Linux Shell脚本攻略

一、echo命令 1、在echo中转义换行符 默认情况下&#xff0c;echo会在输出文本的尾部追加一个换行符。可以使用选项-n来禁止这种行为。 echo同样接受双包含转义序列的双引号字符串作为参数。在使用转义序列时&#xff0c;需要使用echo -e "包含转义序列的字符串"这…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域&#xff0c;有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐&#xff1a; Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言&#xff0c;并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

MongoDB(学习笔记1.0)

最近在学非关系型数据库MongoDB&#xff0c;猛地用起来的真的没关系型数据库方便啊。 首先还是数据库的安装&#xff1a; 安装直接去官网安装即可&#xff0c;官网地址&#xff1a;MongoDB: The Developer Data Platform | MongoDB 当前也有免安装版的&#xff0c;这里就不再…

毕业三年,自学软件测试到就业,我用了4个月

我转行的经历 17年毕业&#xff0c;普通专科&#xff0c;通信专业。 当初选择这个专业是因为有一个校企合作&#xff0c;承诺学生毕业之后给学生安排就业&#xff0c;在学校里面混了三年之后&#xff0c;学校也是履行了当初安排就业的承诺&#xff0c;给我“发配”到了上海&a…