VictoriaMetrics:使用vmctl来实现vmstorage向victoriametricsprod(单机版)迁移数据

摘要:
如前一篇文章所述,victoria metrics prod(单机版)=“”}start:0end:1640919407Initingimportprocess无法读取vm存储的备份数据http://127.0.0.1:8428“:总计:5.81GiB↖ 速度:1.29MiBp/s2021/12/3112:13:22总时间:1h16m35.022151869s结论:使用vmctl传输数据非常慢,每秒传输数百KB的数据。对于生产环境中的数据迁移,这是一个死心塌地的愿望!据统计,当每个核心的传输速率为663kb/s时,所有核心都已满。您可以通过增加CPU资源来加快导入速度。此项仅适用于特定数据的导入和导出

前一篇提到了,vm-storage的备份数据,无法被victoria-metrics-prod(单机版)读取。
继续翻文档发现vmctl可以实现这个效果:

1.启动vm-restore恢复数据

vmrestore-prod \
  -configFilePath="/etc/cos/config.ini" \
  -credsFilePath="/etc/cos/creds.ini" \
  -customS3Endpoint="https://cos.ap-guangzhou.myqcloud.com" \
  -src="s3://bucket/vm-storage/2021-12-27/" \
  -storageDataPath="/var/victoria-metrics/data/2021-12-27/" \
  -httpListenAddr="0.0.0.0:8420" \
  -memory.allowedBytes=2GB \
  -concurrency=10 \
  -maxBytesPerSecond=100MB 

2.启动vm-storage

vmstorage-prod \
  -memory.allowedBytes 30GB \
  -storageDataPath /var/victoria-metrics/data/2021-12-27/ \
  -retentionPeriod=15d \
  -httpListenAddr 0.0.0.0:8482 \
  -vminsertAddr 0.0.0.0:8400 \
  -vmselectAddr 0.0.0.0:8401 \
  -search.maxTagKeys 100000 \
  -search.maxTagValues 1000000 \
  -search.maxUniqueTimeseries=10000000

3.启动一个vm-select来查询这个节点

vmselect-prod \
  -cacheDataPath /var/victoria-metrics/cache \
  -memory.allowedBytes 10GB \
  -replicationFactor 1 \
  -storageNode 127.0.0.1:8401 \
  -httpListenAddr 0.0.0.0:8481 \
  -search.maxConcurrentRequests 2000 \
  -search.maxPointsPerTimeseries 5000000 \
  -search.maxQueryDuration 600s

4.启动victoria-metrics-prod(单机版)

victoria-metrics-prod \
  -dedup.minScrapeInterval=30s \
  -httpListenAddr="0.0.0.0:8428" \
  -insert.maxQueueDuration=2m \
  -maxInsertRequestSize=500MB \
  -memory.allowedBytes=7GB \
  -retentionPeriod=1y \
  -search.maxConcurrentRequests=500 \
  -search.maxPointsPerTimeseries=100000 \
  -search.maxUniqueTimeseries=1000000 \
  -storageDataPath=/var/victoria-metrics/data/vm-single/data/

5.启动vmctl来传输数据

vmctl-prod vm-native \
  --vm-native-filter-time-start=0 \
  --vm-native-filter-time-end=$(date +"%s") \
  --vm-native-src-addr="http://127.0.0.1:8481/select/0/prometheus/" \
  --vm-native-dst-addr="http://127.0.0.1:8428/"

运行结果:

VictoriaMetrics Native import mode
Initing export pipe from "http://127.0.0.1:8481/select/0/prometheus" with filters:
        filter: match[]={__name__!=""}
        start: 0
        end: 1640919407
Initing import process to "http://127.0.0.1:8428":
Total: 5.81 GiB ↖ Speed: 1.29 MiB p/s                                                                                                                                                                                                                                       
2021/12/31 12:13:22 Total time: 1h16m35.022151869s

结论:

  • 用vmctl来传输数据,奇慢,每秒传输几百KB数据。生产环境中用于迁移数据,简直是找死!
    • 统计下来,每核传输数速率 663kb/s (主要是vm单机版耗CPU很高)
    • 传输的时候,所有核跑满。可以通过增加CPU资源加快导入速度。
  • 这个东西可能只适合特定的某些数据的导入导出

免责声明:文章转载自《VictoriaMetrics:使用vmctl来实现vmstorage向victoriametricsprod(单机版)迁移数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇FileUpload控件使用初步MyBatis-使用XML或注解的简单实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

  1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始。 Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, 谷歌的实现和Hadoop的实现大致可以做这样的对应: Google Map/Reduce <---> Hadoop MapReduceGoog...

你知道 Java 代码是如何运行的吗?

对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么? 一 编写java源程序 java源文件:指存储java源码的文件。 先来看看如下代码: (1...

DPDK开发环境搭建(学会了步骤适合各版本)

一、版本的选择 首先要说明的是,对于生产来说DPDK版本不是越高越好,如何选择合适的版本? 1、要选择长期支持的版本LTS(Long Term Support) 2、根据当前开发的系统环境选择 可以在以下文档里从高至低查看不同版本的System Requirements章节,它对kernel、glibc等限制有详细说明。 http://core.dpdk...

一个相见恨晚的idea上的小功能——通过idea直接操作Linux上的文件

因为学习原因,平时自己操作虚拟机需要修改和增加很多文件。 而在Linux系统里的vim,有时候确实还是不及外面idea上用的爽。 在偶然下发现idea可以支持操作虚拟机上的文件,让我高兴不已,废话不多说,直接走流程,其实也很简单。 第一步,保证Linux是开启的 第二部,在idea上,按照如下点击 我自己的是2019.2的版本,后续版本可能有些显示内容不...

Vmware workstation虚拟机导入到esxi虚拟机

VMware Workstation 与 ESXi 的主要区别 VMware Workstation是直接在windows系统下安装软件,安装后再在软件里面安装虚拟机,而ESXi相当于一个linux操作系统,直接像安装linux系统一样安装后,再在另一台windows电脑上通过web或者安装vcenter连接访问esxi,然后再安装和管理虚拟机。    ...

HANA学习笔记1-搭建HANA学习环境

一 硬件环境     两台电脑,一台为服务器装跑HANA虚拟机,一台为客户端运行HANA_STUDIO     服务器:内存至少需要16G     windows server 2003 64位     客户端:windows 7 64位   二软件环境     服务器:VMware 9.0    HANA虚拟机镜像     客户端:jdk   sapca...