深度解析C++中的容器 —— string

string类的灵魂三问:是什么?为什么?怎么办?1 为什么要学习 string 类(为什么)?2 标准库中的 string 类(是什么)?2.1 string 类2.2 string 类的常用接口2.2.1 string 类对象的常用构造函数2.2.2 string 类对象的容量操作2.2.3 string 类对象的访问和遍历操作2.2.4 string 类对象的修改操作3 string类的模拟实现(怎么办)?3.1 经典的 string 类问题3.2 浅拷贝3.3 深拷贝3.3.1 传统版写法的 str
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

二叉树的部分练习题目

目录相同的树另一个树的子树二叉树的最大深度平衡二叉树对称二叉树二叉树的最近公共祖先二叉树创建字符串相同的树链接: 相同的树思路:先判断根节点是否相同,如果不同则false,然后在判断左子树和右子树class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) { return true; }
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

C++容器 vector 介绍及其使用

vector 介绍及其使用1 vector 的介绍2 vector 的使用2.1 vector 的构造函数2.2 vector 的遍历2.3 vector 的空间增长问题2.4 vector 的增删查改3 vector 的迭代器失效问题1 vector 的介绍vector 是可变大小数组的序列化容器就像数组一样,vector 也采用的连续存储空间来存储元素。也就是意味着可以采用下标对 vector 的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

zabbix自定义变量传参监控项--监控主机TCP连接状态(五)

zabbix自定义变量传参形式的监控项有时会做一些自定义监控项时,会有很多相同命令不同参数的监控项,这时我们就可以使用传参的方式大大减少配置文件的行数1.监控项传参语法格式UserParameter=监控项key[*],命令 $12.通过传参的方式对tcp11种状态进行监控2.1.编写配置文件1.编写配置文件[root@192_168_81_220 ~]# cd /etc/zabbix/zabbix_agentd.d/[root@192_168_81_220 zabbix_agentd.d
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

zabbix使用163邮箱实现监控报警(六)

zabbix使用163邮箱监控报警1.实现报警的基本思路设置发件人管理—报警媒介类型—创建媒体类型这里我们选择email类型的邮箱报警设置收件人点击用户—报警媒介—添加报警媒介一般来说要新建用户群组,比如开发组、运维组,创建完用户群组在创建用户,在用户设置中设置报警媒介启动动作配置—动作—启用动作默认的动作至针对管理员组生效,因此需要创建新的动作设置报警内容设置让人移动的报警内容2.使用163邮箱报警2.1.定义发件人管理—报警媒介
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

zabbix实现企业微信监控报警(七)

zabbix使用企业微信监控报警1.注册企业微信使用企业微信报警需要先注册企业微信企业微信地址:https://work.weixin.qq.com/填写注册信息即可注册完成2.创建报警机器人2.1.创建应用应用管理—应用—创建应用2.2.编辑应用信息设置机器人log、描述信息、应用部门2.3.创建成功最主要的就是这两个信息AgentId 1000002Secret iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

zabbix自定义监控图形(八)

zabbix自定义图形1.如何查zabbix图形监测—图形—找到要看图形的主机—选择查看的图形—应用2.解决zabbix图形中文乱码问题这是由于zabbix默认的字体版本太老,不支持中文显示导致的,我们只需要将Windows主机上的字体复制一份到zabbix字体目录即可解决此问题2.1.准备微软雅黑字体并上传至服务器Windows微软雅黑字体目录位于C:\Windows\Fonts复制微软雅黑至桌面,然后上传至zabbix服务器微软雅黑字体文件名叫做msyh.ttc上传至zabbix
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

zabbix自定义聚合图形展示多台主机的监控图形(九)

zabbix聚合图形1.聚合图形介绍聚合图形就是将多个图形合并到一个页面方便运维查看聚合图形可以将一台主机的多个监控图形合并到一起,也可以将多个主机的不同监控项合并到一起2.将三台主机的CPU使用率图形做成聚合图形2.1.三台主机ip地址IP 地址192.168.81.220192.168.81.230192.168.81.2502.2.创建聚合图形点击监测—聚合图形—创建聚合图形2.3.填写图形信息名称:知识点系统集群CPU使用情况列数:2 /
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus理论概念(一)

prometheus理论概述1.prometheus特点多维数据模型:由度量名称和键值对标识的时间序列数据PromQL:一种灵活的查询语言,可以利用多维数据完成复杂的监控数据查询不依赖分布式存储,单个服务器节点可直接工作基于HTTP的pull方式采集时间序列数据推送时间序列数据通过pushgateway组件支持,pushgateway的原理类似于zabbix-proxy通过服务发现或静态配置发现模板多种图形模式展现图形2.prometheus组成及架构prometheus架构原理:
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus部署与使用(二)

prometheus部署与使用1.二进制方式部署1.1.安装prometheus1.下载软件包[root@prometheus-server ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz2.安装[root@prometheus-server ~]# mkdir /data/ -p[root@prometheus-s
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus配置文件介绍(三)

prometheus配置文件与核心功能配置文件官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/1.全局配置文件介绍global: [ scrape_interval: <duration> | default = 1m ] //多久时间探测一次数据 [ scrape_timeout: <duration> | default = 10s ] //
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus relabel_configs配置介绍及使用(四)

relabel_configs配置介绍及使用1.relabel_configs重新标签1.1.重新标签的意义重新标签就是重新定义一个标签relabel_configs:这个配置项允许在采集之前对任何目标及标签进行修改重新标签的意义:重命名原来的标签、删除标签、过滤目标,可以针对标签的某个值进行过滤在查询一个监控指标时,prometheus会把只要包含这个监控指标的所有监控数据都列出来,这样看起来也是很麻烦,不过我们可以在查询时指定一个标签,这样就可以定位到指定的主机上relabel_confi
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus基于文件的服务自动发现(五)

prometheus基于文件的服务发现1.prometheus支持的服务发现来源azure_sd_configsconsul_sd_configsdns_sd_configsec2_sd_configsopenstack_sd_configsfile_sd_configsgce_sd_coonfigskuberneters_sd_configsnerve_sd_configsserverset_sd_configstriton_sd_configs2.环境准备IP角
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus使用node_exporter监控Linux主机CPU、内存、磁盘、服务运行状况(六)

prometheus使用node_exporter监控Linux主机1.node_exporter简介node_exporter常用于系统监控,使用go语言编写的指标收集器node_exporter操作文档:https://prometheus.io/docs/guides/node-exporter/prometheus支持的exporters列表:https://prometheus.io/docs/instrumenting/exporters/2.部署node_exporter环境准备
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

任务提交SparkSubmit源码解析

1. 前言反反复复捣鼓了很久,终于开始学习Spark的源码了,果不其然,那真的很有趣。这里我打算一本正经的胡说八道来讲一下Spark作业的提交过程。基础mac系统基础环境如下:JDK 1.8IDEA 2019.3源码Spark 2.3.3Scala 2.11.8提交脚本# 事先准备好的Spark任务(源码example LocalPi)基于local模式b...
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus配合grafana监控图形展现(七)

prometheus+grafana监控图形展现1.grafana部署1.安装[[email protected] ~]# rpm -ivh grafana-6.3.2-1.x86_64.rpm 警告:grafana-6.3.2-1.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 24098cb6: NOKEY准备中... ################################# [100%]正在
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

prometheus监控mysql服务器(八)

prometheus监控mysql服务器1.利用mysql_exporter监控mysql主机环境准备IP服务192.168.81.210prometheus、grafana192.168.81.220mysql192.168.81.230mysql1.1.安装配置mysql在装有mysql的两台机器上执行1.安装mysql[root@192_168_81_220 ~]# yum -y install mariadb2.启动mysql[root@
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

Spark中共享变量

Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变量)。Broadca...
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

AlertManager监控报警神器(九)

prometheus+AlertManager实现监控报警1.AlertManager简介prometheus自身不具备报警能力,因此需要结合第三方报警程序来实现监控指标告警AlertManager是一款不错的告警程序,首先由prometheus配置告警规则,当告警规则触发后,会把告警信息推送给altermanager,AlertManager收到告警之后在根据配置的路由,根据报警级别不同分别发送给不同的receive(收件人),AlertManager可以实现email、企业微信等报警2.部署A
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0

AlertManager告警分配路由配置(十)

AlertManager告警分配路由配置1.route路由配置文件介绍route: group_by: ['alertname'] //定义分组 group_wait: 10s //分组等待时间 group_interval: 10s //收到告警后多长时间发送给接收者 repeat_interval: 10m //重复告警间隔 receiver: 'yunwei' //默认邮箱 routes: //启
分类: 其他 发布时间: 04-01 10:13 阅读次数: 0