自建minio实现doris的快速备份与恢复

这篇具有很好参考价值的文章主要介绍了自建minio实现doris的快速备份与恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.概述

        doris支持通过腾讯云bos、阿里云oss、hdfs实现备份与恢复,但是我们公司doris部署在线下机房,如采用oss/bos, 大数据备份与恢复比较慢,会占用一定的带宽,如采用hdfs,担心小文件太多影响现有的hadoop集群。为了保险起见,而且能够达到快速的备份恢复,我们实现自主搭建一套minio对象存储。

二.目的

       1.当FE元数据发生损坏无法恢复时,我们能快速的从minio恢复,内网带宽拉满

       2.当需要升级doris时,我们可以搭建一个测试集群,从minio快速copy数据测试

三.实现

1.单机多磁盘minio搭建

1)下载安装包

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

2)创建存储目录

mkdir /data01/minio;
mkdir /data02/minio;
mkdir /data03/minio;
mkdir /data04/minio;
mkdir /data05/minio;

3)启动minio

#!/bin/bash

export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minioadmin

nohup /opt/minio/minio server --address=0.0.0.0:9898 /data01/minio /data02/minio /data03/minio /data04/minio /data05/minio>> /opt/minio/nohup.log 2>&1 &

 端口自定义为9898

自建minio实现doris的快速备份与恢复

4 )浏览器访问, 并创建bucket

自建minio实现doris的快速备份与恢复

2.doris备份

1 )创建repository仓库

CREATE REPOSITORY `minio`
WITH S3
ON LOCATION "s3://doris"
PROPERTIES
(
    "AWS_ENDPOINT" = "http://10.254.3.xx:9898",
    "AWS_ACCESS_KEY" = "minio",
    "AWS_SECRET_KEY"="minioadmin",
    "AWS_REGION" = "us-east-1",
    "use_path_style" = "true"
);

2 )查看仓库

show repositories

3)备份指定库的指定表

BACKUP SNAPSHOT dal.snapshot_dal
TO minio 
ON (example_tbl)

4)备份指定库所有表

BACKUP SNAPSHOT dal.snapshot_dal
TO minio 

5)查看备份进度

use dal;
show backup;

3.doris恢复

1)查看存在哪些备份

SHOW SNAPSHOT ON minio;

自建minio实现doris的快速备份与恢复

2)恢复整个db

RESTORE SNAPSHOT dal.snapshot_dal
FROM `minio`
PROPERTIES
(
    "backup_timestamp"="2023-05-15-12-06-44",
    "replication_num" = "3"
);

3)恢复指定的表

RESTORE SNAPSHOT dal.snapshot_dal
FROM `minio`
ON ( `backup_tbl` )
PROPERTIES
(
    "backup_timestamp"="2023-05-15-12-06-44",
    "replication_num" = "3"
);

当要快速恢复应用时,可以先暂时设置副本为1,后续再动态增加副本数

4.踩坑

    如果该表是动态分区表,备份之后会自动禁用动态分区属性,在做恢复的时候需要手动将该表的动态分区属性启用,命令如下:

ALTER TABLE tbl1 SET ("dynamic_partition.enable"="true")

    但是官方并没有提供批量更改所有分区表的方法,以下为脚本:

#!/bin/bash


DORIS_HOST=xxxxxx
DORIS_PORT=xxxx
DORIS_USER=xxx
DORIS_PASSWORD=xxxx


databases=`mysql -h $DORIS_HOST -P $DORIS_PORT -u$DORIS_USER -p$DORIS_PASSWORD -e "show databases;"`
for db in ${databases};do
  if [[ $db != 'Database' ]] && [[ $db != 'information_schema' ]];then

      tables=`mysql -h $DORIS_HOST -P $DORIS_PORT -u$DORIS_USER -p$DORIS_PASSWORD -e "use $db;show tables;"`
      for table in ${tables};do
            if [[ $table =~ "Tables_in" ]];then
               echo ""
            else
               echo $table
               num=`mysql -h $DORIS_HOST -P $DORIS_PORT -u$DORIS_USER -p$DORIS_PASSWORD -e "show create table $db.$table\G" | grep "dynamic_partition.time_unit" | wc -l`
               if [[ $num == 1 ]];then
                   sql="alter table $db.$table set ('dynamic_partition.enable'='true');"
                   echo $sql
                   mysql -h $DORIS_HOST -P $DORIS_PORT -u$DORIS_USER -p$DORIS_PASSWORD -e "$sql"
               fi
            fi
       done

  fi
done

 

外链:

    minio:  基于AWS S3协议搭建个人云存储服务 - 简书

    doris:  RESTORE - Apache Doris文章来源地址https://www.toymoban.com/news/detail-446014.html

到了这里,关于自建minio实现doris的快速备份与恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据

            在使用postman调试接口时,若遇到内网的环境,无法通过账户同步数据; 在A电脑调试的接口数据,需要移动到B电脑上,如何实现postman 的数据迁移(导出)功能呢?         在新的电脑上,如何导入postman的数据呢?         本文将整理 postman的数据导出、

    2024年01月25日
    浏览(50)
  • 备份StarRocks数据到对象存储minio中/外表查minio中的数据

    1.部署minio环境 宿主机与容器挂在映射 宿主机位置 容器位置 /data/minio/config /data /data/minio/data /root/.minio 拉起环境: 2.准备starrocks环境 参考docker部署starrocks 使用 Docker 部署 StarRocks @ deploy_with_docker @ StarRocks Docs 3.minio文件查询/全库备份·实操 借助python生成parquet文件  3.1 去查存在

    2024年02月10日
    浏览(41)
  • MySQL Linux自建环境备份至远端服务器自定义保留天数

    linux下安装mysql请看 Linux环境安装单节点mysql8.0.16 系统版本: CentOS 7 软件版本: mysql8.0.16 此次备份依赖mysql自带命令mysqldump与linux下crontab命令(定时任务) mysqldump mysqldump客户实用程序执行 逻辑备份,产生一组能够被执行以再现原始数据库对象定义和表数据的SQL语句。它转储一

    2024年02月13日
    浏览(52)
  • rsync远程同步实现快速、安全、高效的异地备份

    目录 一、rsync介绍 1、rsync是什么? 2、rsync同步方式 3、rsync的特性 4、rsync的应用场景 5、rsync与cp、scp对比 6、rsync同步源 二、rsync命令 1、常用选项 2、实例:本地复制对比 3、配置源的两种表示方法 三、配置rsync下行同步 四、rsync实时同步(inotify工具) 1、定期同步的不足

    2024年02月16日
    浏览(41)
  • rsync 远程同步实现快速、安全、高效的异地备份

    目录 1 rsync 远程同步 1.1 rsync是什么? 1.2 rsync同步方式 1.3 rsync的特性 1.4 rsync的应用场景 1.5 rsync与cp、scp对比 1.6 rsync同步源 2 配置rsync源服务器 2.1 建立/etc/rsyncd.conf 配置文件 3 发起端 4 发起端配置 rsync+inotify 4.1 修改rsync源服务器配置文件 4.2 调整 inotify 内核参数 4.3 安装 inoti

    2024年02月05日
    浏览(38)
  • Doris向量化执行引擎原理(概述)

    一、向量化执行引擎的概述 向量化执行引擎是一种高效的数据处理方式,它将数据分为多个向量进行处理,能够充分利用 CPU 的 SIMD 指令集,提高数据处理的效率。在 Doris 中,向量化执行引擎被广泛应用于查询优化、数据压缩、聚合计算等方面,能够显著提高 Doris 的查询性

    2024年02月14日
    浏览(43)
  • 详解集群级备份恢复:物理细粒度备份恢复

    摘要: 在实际使用过程中,数据库集群级的故障并非高概率事件,如何安全高效地帮助客户备份恢复一部分数据库元素,才是更加实际的需求,这也是细粒度备份恢复的意义所在。 本文分享自华为云社区《GaussDB(DWS)之物理细粒度备份恢复》,作者:我的橘子呢 。 相对于

    2024年02月04日
    浏览(41)
  • mysql备份恢复(mysqldump备份 mysqlbinlog恢复)

    物理备份 ​物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等) 冷备份(脱机备份) :是在关闭数据库的时候进行的 热备份(联机备份) :数据库处于运行状态,依赖于数据库的日志文件 温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作 逻辑备份 逻辑

    2024年02月14日
    浏览(39)
  • Apache Doris (四十二): RECOVER数据删除恢复

    🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客  🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。  🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

    2024年02月07日
    浏览(51)
  • 使用docker完成minio服务部署扩容备份迁移生产实践文档

    当服务器存储空间不足的时候,需要进行扩容,扩容过程中需要短暂停机时间,预计在一小时内能够完成和恢复 统一注意事项 强烈建议为部署中的所有节点选择基本相似的硬件配置。确保硬件(CPU、内存、主板、存储适配器)和软件(操作系统、内核设置、系统服务)在所

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包