Apache Doris 详细教程(三)

7、监控和报警

Doris 可以使用 Prometheus 和 Grafana 进行监控和采集,官网下载最新版即可。

Prometheus 官网下载:https://prometheus.io/download/

Grafana 官网下载:https://grafana.com/grafana/download

Doris 的监控数据通过 FE 和 BE 的 http 接口向外暴露。监控数据以 key-value 的文本形式对外展现。每个 key 还可能有不同的 Label 加以区分。当用户搭建好 Doris 后,可以在浏览器,通过以下接口访问监控数据.

Frontend: fe_host:fe_http_port/metrics,如 http://zuomm01:8030/metrics

Backend: be_host:be_web_server_port/metrics,如 http://zuomm01:8040/metrics

整个监控架构如下图

在这里插入图片描述

7.1、prometheus

1、上传 prometheus-2.26.0.linux-amd64.tar.gz,并进行解压

 tar -zxvf prometheus-2.26.0.linux-amd64.tar.gz 

2、配置 promethues.yml

配置两个 targets 分别配置 FE 和 BE,并且定义 labels 和 groups 指定组。如果有多个集群则再加 -job_name 标签,进行相同配置

vi prometheus.yml 
scrape_configs: - job_name: 'prometheus_doris'static_configs:- targets: ['zuomm01:8030','zuomm02:8030','zuomm03:8030']labels:group: fe- targets: ['zuomm01:8040','zuomm02:8040','zuomm03:8040']labels:group: be

3、启动 prometheus

nohup /opt/app/prometheus-2.26.0.linux-amd64/prometheus --web.listen-address="0.0.0.0:8181" & 

该命令将后台运行 Prometheus,并指定其 web 端口为 8181。启动后,即开始采集数据,并将数据存放在 data 目录中。

4、访问

http://zuomm01:8181

点击导航栏中,Status -> Targets,可以看到所有分组 Job 的监控主机节点。正常情况下,所有节点都应为 UP,表示数据采集正常。点击某一个 Endpoint,即可看到当前的监控数值。

7.2、grafana

1、上传 grafana-7.5.2.linux-amd64.tar.gz,并进行解压

tar -zxvf grafana-7.5.2.linux-amd64.tar.gz 

2、配置 conf/defaults.ini

vi defaults.ini
http_addr = zuomm01
http_port = 8182

3、启动

nohup /opt/app/grafana-7.5.2/bin/grafana-server &

通过浏览器访问http://zuomm01:8182,配置数据源 Prometheus 账号密码都是 admin

在这里插入图片描述
在这里插入图片描述
添加数据源:在齿轮那边

在这里插入图片描述
添加普罗米修斯:

在这里插入图片描述
添加 dashboard

模板下载地址:https://grafana.com/grafana/dashboards/9734/revisions

上传准备好的 doris-overview_rev4.json

找到manager

在这里插入图片描述
导入下载得doris模板

在这里插入图片描述
在这里插入图片描述

8、备份(Backup)和恢复(Restore)

Doris 支持将当前数据以文件的形式,通过 broker 备份到远端存储系统中。之后可以通过恢复命令,从远端存储系统中将数据恢复到任意 Doris 集群。通过这个功能,Doris支持将数据定期的进行快照备份。也可以通过这个功能,在不同集群间进行数据迁移

8.1、备份原理

备份操作是将指定表或分区的数据,直接以 Doris 存储的文件的形式,上传到远端仓库中进行存储。当用户提交 Backup 请求后,系统内部会做如下操作:

在这里插入图片描述
1、快照及快照上传

快照阶段会对指定的表或分区数据文件进行快照。之后,备份都是对快照进行操作。在快照之后,对表进行的更改、导入等操作都不再影响备份的结果。快照只是对当前数据文件产生一个硬链,耗时很少。快照完成后,会开始对这些快照文件进行逐一上传。快照上传由各个 Backend 并发完成。

2、元数据准备及上传
数据文件快照上传完成后,Frontend 会首先将对应元数据写成本地文件,然后通过broker 将本地元数据文件上传到远端仓库。完成最终备份作业。

8.2、恢复(Restore)原理

恢复操作需要指定一个远端仓库中已存在的备份数据,然后将这个备份的内容恢复到本地集群中。当用户提交 Restore 请求后,系统内部会做如下操作:
在这里插入图片描述
1、在本地创建对应的元数据
这一步首先会在本地集群中,创建恢复对应的表分区等结构。创建完成后,该表可见,但是不可访问。

2、本地 snapshot
这一步是将上一步创建的表做一个快照。这其实是一个空快照(因为刚创建的表是没有数据的),其目的主要是在 Backend 上产生对应的快照目录,用于之后接收从远端仓库下载的快照文件。

3、下载快照
远端仓库中的快照文件,会被下载到对应的上一步生成的快照目录中。这一步由各个Backend 并发完成。

4、生效快照
快照下载完成后,我们要将各个快照映射为当前本地表的元数据。然后重新加载这些快照,使之生效,完成最终的恢复作业。

重点说明

1、备份恢复相关的操作目前只允许拥有 ADMIN 权限的用户执行。
2、一个 Database 内,只允许有一个正在执行的备份或恢复作业。
3、备份和恢复都支持最小分区(Partition)级别的操作,当表的数据量很大时,建议按分区分别执行,以降低失败重试的代价。

8.3、备份示例

1、创建一个远端仓库路径

-- 1.启动hdfs
-- 2.启动brokerCREATE REPOSITORY `hdfs_test_backup`  -- 远端仓库的名字
WITH BROKER `broker_name` 
ON LOCATION "hdfs://linux01:8020/tmp/doris_backup"  -- 存储的路径
PROPERTIES ( "username" = "root", "password" = "" 
) ;

2、执行备份

BACKUP SNAPSHOT [db_name].{snapshot_name} 
TO `repository_name` 
ON ( -- 表里面的哪些数据 `table_name` [PARTITION (`p1`, ...)], ... 
) 
PROPERTIES ("key"="value", ...);

3、查看备份任务

SHOW BACKUP from test \G;mysql> SHOW BACKUP from test \G;
*************************** 1. row ***************************JobId: 13300SnapshotName: event_info_log_snapshotDbName: testState: FINISHEDBackupObjs: [default_cluster:test.event_info_log]CreateTime: 2022-11-27 21:29:56
SnapshotFinishedTime: 2022-11-27 21:30:00UploadFinishedTime: 2022-11-27 21:30:06FinishedTime: 2022-11-27 21:30:13UnfinishedTasks: Progress: TaskErrMsg: Status: [OK]Timeout: 86400
1 row in set (0.02 sec)

4、查看远端仓库镜像

SHOW SNAPSHOT ON `repo_name` [WHERE SNAPSHOT = "snapshot" [AND TIMESTAMP =  
"backup_timestamp"]]; mysql> SHOW SNAPSHOT ON hdfs_test_backup;
+-------------------------+---------------------+--------+
| Snapshot                | Timestamp           | Status |
+-------------------------+---------------------+--------+
| event_info_log_snapshot | 2022-11-27-21-29-56 | OK     |
+-------------------------+---------------------+--------+

5、取消备份

CANCEL BACKUP FROM test; 

8.4、恢复示例

将之前通过 BACKUP 命令备份的数据,恢复到指定数据库下。该命令为异步操作。提交成功后,需通过 SHOW RESTORE 命令查看进度。

  • 仅支持恢复 OLAP 类型的表
  • 支持一次恢复多张表,这个需要和你对应的备份里的表一致

说明:

1、同一数据库下只能有一个正在执行的 BACKUP 或 RESTORE 任务。

2、ON 子句中标识需要恢复的表和分区。如果不指定分区,则默认恢复该表的所有分区。所指定的表和分区必须已存在于仓库备份中

3、可以通过 AS 语句将仓库中备份的表名恢复为新的表。但新表名不能已存在于数据库中。分区名称不能修改。

4、可以将仓库中备份的表恢复替换数据库中已有的同名表,但须保证两张表的表结构完全一致。表结构包括:表名、列、分区、Rollup 等等。

5、可以指定恢复表的部分分区,系统会检查分区 Range 或者 List 是否能够匹配。

6、PROPERTIES 目前支持以下属性:

  • “backup_timestamp” = “2018-05-04-16-45-08”:指定了恢复对应备份的哪个时间版本,必填。该信息可以通过 SHOW SNAPSHOT ON 仓库名称; 语句获得。
  • “replication_num” = “3”:指定恢复的表或分区的副本数。默认为 3。若恢复已存在的表或分区,则副本数必须和已存在表或分区的副本数相同。同时,必须有足够的host 容纳多个副本。
  • “timeout” = “3600”:任务超时时间,默认为一天。单位秒。

从 example_repo 中恢复备份 snapshot_1 中的表 backup_tbl 到数据库 example_db1,时间版本为 “2021-05-04-16-45-08”。恢复为 1 个副本:

-- 创建表:
create table event_info
(
user_id varchar(20),
event_id varchar(20),
event_action varchar(20),
event_time datetime
)
DUPLICATE KEY(user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 1;-- 指定哪个数据库里面的哪一个快招表的名字
RESTORE SNAPSHOT test.event_info_log_snapshot
-- 从哪个仓库中的哪一个快照中
FROM `hdfs_test_backup` -- 仓库名字
ON ( `event_info_log` )  -- 对应需要的那一张表
PROPERTIES 
( 
-- 指定时间版本"backup_timestamp"='2022-11-27-21-29-56'
); 

查看恢复任务

mysql> SHOW RESTORE from test \G;
*************************** 1. row ***************************JobId: 13316Label: event_info_log_snapshotTimestamp: 2022-11-27-21-29-56DbName: default_cluster:testState: FINISHEDAllowLoad: falseReplicationNum: 3ReplicaAllocation: tag.location.default: 3ReserveReplica: false
ReserveDynamicPartitionEnable: falseRestoreObjs: {"name": "event_info_log_snapshot","database": "test","backup_time": 1669555796781,"content": "ALL","olap_table_list": [{"name": "event_info_log","partition_names": ["event_info_log"]}],"view_list": [],"odbc_table_list": [],"odbc_resource_list": []
}CreateTime: 2022-11-27 21:55:27MetaPreparedTime: 2022-11-27 21:55:28SnapshotFinishedTime: 2022-11-27 21:55:31DownloadFinishedTime: 2022-11-27 21:55:37FinishedTime: 2022-11-27 21:55:43UnfinishedTasks: Progress: TaskErrMsg: Status: [OK]Timeout: 86400
1 row in set (0.01 sec)

取消恢复

CANCEL RESTORE FROM db_name;

8.5、删除远端仓库

DROP REPOSITORY `repo_name`;  

删除仓库,仅仅是删除该仓库在 Doris 中的映射,不会删除实际的仓库数据。删除后,可以再次通过指定相同的 broker 和 LOCATION 映射到该仓库。

原文:https://mp.weixin.qq.com/s/C9P8Zoyw6MdTt9BNEcL0MA

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

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

相关文章

B2B公司如何寻找意向客户的联系方式?

在B2B公司的营销过程中,少不了寻找意向客户的阶段,这也是销售过程中非常重要的一步。 很多新人都是拿到客户联系方式,就直接打电话拜访,俗话说不打没有准备的仗,因此在拜访客户之前就应该做好功课,充分了解…

全网最新最全的自动化测试教程:python+pytest接口自动化-请求参数格式的确定

我们在做接口测试之前,先需要根据接口文档或抓包接口数据,搞清楚被测接口的详细内容,其中就包含请求参数的编码格式,从而使用对应的参数格式发送请求。例如某个接口规定的请求主体的编码方式为 application/json,那么在…

医院信息化专业人员必备医院业务运作及管理流程知识(详细)

业务流程是一家医院运作的基础,医院所有业务都需要流程加以驱动。熟知医院各项业务,了解医院管理流程,有利于医院工作人员更好地投入自身岗位,提高工作效率。本文整理了常见医院业务运作及管理流程,仅供参考! 【门诊业务】 一、门诊业务的特点: 1.接诊病人多,就诊时…

Python 接口自动化 —— requests框架

1.前言 Python内置的urllib模块,也可以用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。因此我们使用 requests 模块进行进行接口测试。 requests官方文档资料地址:http://cn.python-request…

记录 | ipad上安装ipa文件

目的:在 ipad 上安装 ipa 文件 首先需要在 mac 端安装 itools pro 下载地址:https://www.thinkskysoft.com/itools/ 然后下载 ipa > 需要有签名的,不然安装不了 然后用数据线连接 ipad 和 mac,应用 -> 安装

C语言——深入理解指针(5)

目录 1. sizeof和strlen的对比 1.1 sizeof 1.2 strlen 1.3 sizeof和strlen 的对比 2. 数据和指针题解析 2.1 一维数组 2.2 字符数组 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2,6 2.3 二维数组 3. 指针运算题解析 3.1 例1 3.2 例2 3.3 例3 3.4 例4 3.5 例5 3.6 例…

OpenCV介绍及安装

目录 1.OpenCV简介 2.OpenCV安装 3.检查OpenCV是否安装成功 4.OpenCV模块 5.学习技巧 1.OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个基于开源发行的跨平台计算机视觉库,主要用于图像处理、计算机视觉和机器学习等领域…

干货|水表基础知识大全

第一部分 水表基础知识 第一节 水表的作用 水表:是用来记录流经自来水管道中水量的一种计量器具,也称为计量器具。 1、水表的发展简史 1825年英国的克路斯发明了真正具有仪表特征的平衡罐式水表以来,水表的发展已有近二百年的历史。期间,水表的结构…

目标检测中的损失函数:IOU_Loss、GIOU_Loss、DIOU_Loss和CIOU_Loss

文章目录 前言1.IOU_Loss(Intersection over Union Loss)2.GIOU_Loss(Generalized Intersection over Union Loss)3.DIOU_Loss(Distance Intersection over Union Loss)4.CIOU_Loss(Complete In…

行云创新:与德国汽车业交流Catena-X数据空间技术有感

近日,行云创新CEO马洪喜先生受深圳高新投、Plug&Play邀请参加Catena-X技术研讨交流会,与西门子全球汽车生态系统总监Claus CREMERS,大众汽车全球数字化生产及流程负责人Frank GOELLER,宝马全球数字化政策负责人Sebastian SCHL…

【国际会议】2024年材料科学与机械应用发展国际会议(ICMSMAD 2024)

2024年材料科学与机械应用发展国际会议(ICMSMAD 2024) 2024 International Conference on Materials Science and Mechanical Application Development(ICMSMAD 2024) 一、【会议简介】 ​2024年材料科学与机械应用发展国际会议(ICMSMAD 2024)即将在美丽的中国成都盛大召开。这…

使用gdb调试正在运行的程序

写一个一秒打印一个数的c程序&#xff0c;并编译运行。 #include<unistd.h> #include<stdio.h> int main(int argc,char **argv){int i0;while(1){sleep(1);i;printf("%d\n",i);}return 0; }vim loop.c gcc loop.c -o loop ./loop 查看该进程的进程号。…

《数据库系统概论》学习笔记——王珊 萨师煊

第一章 绪论 一、数据库系统概述 1.数据库的4个基本概念 &#xff08;1&#xff09;数据 描述事物的符号记录称为数据 &#xff08;2&#xff09;数据库 存放数据的仓库 &#xff08;3&#xff09;数据库管理系统 主要功能&#xff1a; &#xff08;1&#xff09;数据定…

APP逆向工具环境安装

环境安装及配置&#xff1a; 1.JDK安装及配置链接&#xff1a;https://pan.baidu.com/s/146I4vDJdz8YeR0OEqLS8xw 提取码&#xff1a;7h00 2.SDK环境配置链接&#xff1a;https://pan.baidu.com/s/1A8rwqyw8Nn7p93Axqpll3A 提取码&#xff1a;cwv43.NDK环境配置链接&#xff1…

SpringBoot:SpringMVC(上)

文章目录 前言一、SpringMVC是什么&#xff1f;1.1 MVC的定义&#xff1a;1.2 MVC 和 Spring MVC 的关系 二、Spring MVC 创建和连接2.1创建springmvc2.2接下来&#xff0c;创建⼀个 UserController 类&#xff0c;实现⽤户到 Spring 程序的互联互通&#xff0c;具体实现代码如…

MYSQL练题笔记-聚合函数-即时食物配送

我做完上一道题&#xff0c;决定总结一下了&#xff0c;因为现在还是没有一个我认为好的思路去构造语句&#xff0c;这里开始试一试新的思路。果然想要好一点的时候&#xff0c;总是像便秘一下&#xff0c;真的想拉&#xff0c;但是真的难拉啊 一、题目相关内容 1&#xff09…

科普关于msvcp140.dll文件是什么内容,解决msvcp140.dll丢失的修复方法

在使用电脑时出现了关于msvcp140.dll丢失的问题&#xff0c;这是什么情况&#xff0c;出现这样的问题通常都会导致电脑中的一些软件不能使用&#xff0c;那么都有什么办法能够解决msvcp140.dll丢失的问题呢&#xff1f;今天就给大家科普一些关于msvcp140.dll文件是什么的内容&a…

小程序长按识别二维码

小程序开发中要实现长按识别二维码的功能很简单&#xff0c;只需要在image标签里添加如下属性即可&#xff1a; 小程序版本&#xff1a; show-menu-by-longpress"{{true}}" uniapp版本&#xff1a; :show-menu-by-longpress"true" 举例&#xff1a; …

小红书种草笔记多少钱?给大家揭秘

小红书&#xff0c;一个以生活方式分享为主题的社交电商平台&#xff0c;吸引了众多年轻用户。种草笔记&#xff0c;是指用户在小红书上分享的关于某一产品或服务的使用体验、心得感悟&#xff0c;通过图文并茂的形式&#xff0c;激发其他用户的好奇心和购买欲望&#xff0c;从…

资深老鸟整理,高级测试工程师应具备的能力...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、业务熟悉 熟悉…