自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 部署Promethuse监控Hadoop节点

以datanode为例,datanode运行期间的日志会写在/usr/local/hadoop/logs/hadoop-root-datanodex.log中,如果启动datanode进程失败,失败原因在log中也没有记录的话,可以查看/usr/local/hadoop/logs/hadoop-root-datanodex.out.x文件,可能会有帮助。已经存在开源工具帮助我们做这一步,笔者本文使用的是JMX Exporter,但是刚发现了更契合的工具hadoop_exporter,感兴趣的自行搜索。

2023-08-05 16:28:03 873 1

原创 在Linux服务器上使用docker部署高可用HDFS

docker搭建分布式HDFS

2023-07-25 16:59:53 683

原创 计算智能:不确定知识与推理

计算智能第八章

2022-11-28 17:57:06 242 1

原创 Understanding and Detecting Software Upgrade Failures in Distributed Systems

SOSP'21论文阅读,关于分布式系统升级故障

2022-10-31 14:50:22 937

原创 Check before You Change: Preventing Correlated Failures in Service Updates

Check before You Change: Preventing Correlated Failures in Service Updates

2022-10-13 14:55:57 795

原创 数据密集型应用系统设计(4)

文章目录数据编码和演化数据编码格式数据编码和演化当数据格式或者模式发生变化时,经常需要对应用程序代码进行相应的调整。但是对于一个大型系统,代码更迭并不简单。由于滚动升级以及用户未必会马上更新客户端应用程序,所以新旧版本的代码以及新旧数据格式可能会同时在系统内共存。为了系统顺利运行,需要保持双向兼容。向后兼容指的是较新的代码可以读取旧代码编写的数据,一般比较容易实现。反之向前兼容比较棘手,以为它需要旧代码忽略新版本的代码所做的添加。数据编码格式在程序中通常至少使用两种不同的数据表示形式:一是在内存

2022-04-11 18:49:14 293

原创 数据密集型应用系统设计(3)

文章目录数据存储与检索数据库核心是数据结构哈希索引SSTable和LSM-TreeB-trees数据存储与检索本章我们从数据库的角度来探讨探讨如何存储输入的数据,并且在收到查询时找到数据。针对事务型负载和针对分析型负载的存储引擎优化存在很大的差异。数据库核心是数据结构日志通常指的是应用程序的运行输出日志,来记录发生了什么事情。当然日志还有一个更通用的含义,表示一个仅能追加的记录序列集合。它可能是人类不可读的,可能是二进制格式而只能被其他程序读取。日志方式的查找开销是O(n)O(n)O(n)。为

2022-04-02 16:18:39 3501

原创 BFS图论应用

本文参考并拓展了OI-Wiki BFSBFS 是宽度优先搜索,也叫广度优先搜索。所谓宽度优先。就是每次都尝试访问同一层的节点。 如果同一层都访问完了,再访问下一层。这样做的结果是,BFS 算法找到的路径是从起点开始的 最短 合法路径。换言之,这条路径所包含的边数最小。在 BFS 结束时,每个节点都是通过从起点到该点的最短路径访问的。算法过程可以看做是图上火苗传播的过程:最开始只有起点着火了,在每一时刻,有火的节点都向它相邻的所有节点传播火苗。应用BFS最经典、最常见的应用已经在上面给出。在 B

2022-03-22 19:37:06 574

原创 链式前向星

链式前向星是图存储的方式之一。首先回顾我们已知的存储方式,主要是邻接矩阵和邻接表。邻接矩阵复杂度查询是否存在某条边:O(1)O(1)O(1)遍历一个点的所有出边:O(n)O(n)O(n)遍历整张图:O(n2)O(n^2)O(n2)空间复杂度:O(n2)O(n^2)O(n2)邻接表复杂度查询是否存在u−−>vu-->vu−−>v:O(d+(u))O(d^+(u))O(d+(u))遍uuu的所有出边:O(d+(u))O(d^+(u))O(d+(u))遍历整张图:O(n+m)

2022-03-19 10:29:52 198

原创 432. 全 O(1) 的数据结构

题目请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。实现 AllOne 类:AllOne() 初始化数据结构的对象。inc(String key) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key 。dec(String key) 字符串 key 的计数减少 1 。如果 key 的计数在减少后为 0 ,那么需要将这个 key 从数据结构中删除。测试用例保证:在减少计数前,key 存在于数据结构中。getMaxKey()

2022-03-16 19:12:06 1477

原创 数据密集型应用系统设计(2)

数据模型与查询语言大多数应用程序是通过一层层叠加数据模型来构建的。例如:应用程序开发人员观测现实世界,通过对象或者数据结构,以及操作这些数据结构的API对其建模。这些数据结构往往特定于该应用。...

2022-03-16 13:08:55 897

原创 数据密集型应用系统设计(1)

文章目录可靠、可拓展可维护的应用系统软件系统最重要的三个特征:可靠性可扩展性可维护性小结可靠、可拓展可维护的应用系统软件系统最重要的三个特征:可靠性即使发生了某些错误,系统也可继续正常工作故障(faults),或者叫错误,与失效(failure)不同。失效意味着系统作为整体停止服务,故障只是组件偏离了正常规格。常见的故障包括硬件故障、软件错误、人为失误。可扩展性可扩展性用于描述系统应对负载增加能力。负载由负载参数来描述。参数的最佳选择取决于系统的体系结构。系统性能描述:在批处理系统中我们

2022-03-11 17:10:30 3238

原创 798.得分最高的最小轮调

题目给你一个数组 nums,我们可以将它按一个非负整数 k 进行轮调,这样可以使数组变为 [nums[k],nums[k+1],...nums[nums.length−1],nums[0],nums[1],...,nums[k−1]] [nums[k], nums[k + 1], ... nums[nums.length - 1], nums[0], nums[1], ..., nums[k-1]] [nums[k],nums[k+1],...nums[nums.length−1],nums[0],num

2022-03-09 23:35:02 152

原创 图论基本概念

文章目录图相邻度简单图路径子图连通无向图有向图本章概述了图论中的一些概念,部分内容来源于OI Wiki图图 (Graph) 是一个由 点集 (Vertex set) 和 边集 (Edge set) 组成的二元组。常用 G=(V,E)G = \left ( V, E \right )G=(V,E)表示图图分为 有向图 (Directed graph) 和 无向图(Undirected graph)无向图的边集中的每个元素为一个无序二元组 (u,v)\left ( u,v \right )(u,v),

2022-03-07 16:26:31 1470

原创 字节校招刷题

2018测试开发给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个:区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式, 可得到所有可以选定各个区间的计算值:[6] = 6 * 6 = 36;[2] = 2 * 2 = 4;[1] = 1 * 1 = 1;[6,2] = 2 * 8 = 16;[2,1] = 1 * 3 = 3;[6, 2, 1] = 1 * 9 = 9

2021-10-25 22:13:16 112

原创 Java类的高级特性

finalfinal方法不能被覆盖final类不能被继承内部类内部类对象实例化必须在外部类或者外部类的非静态方法中实现异常异常在Java中也是作为类的实例的形式出现的基本结构try-catch-finallyfinally语句块不被执行的四种特殊情况:{finally语句块中出现了异常在前面的代码中出现了System.exit()退出程序程序所在的线程死亡关闭CPU}自定义异常创建自定义异常类在方法中通过throw关键字抛出异常对象try-catch语句捕获异常在

2021-10-18 20:33:43 66

原创 Java核心技术

继承,接口和多态子类中可以联通初始化父类的构造方法来完成子类初始化操作。既可以在子类的构造方法中使用super()语句调用父类的构造方法,也可以在子类中使用super关键字调用父类的成员方法等(不可以调用private)。重写(覆盖)就是在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存储权限,或是修改成员方法的返回值类型。(重写父类方法时,修改方法的修饰权限只能从小的范围到大的范围改变)。重构是只改变方法实现内容的特殊的重写。实例化子类必然首先实例化父类对象,父类的无参构

2021-10-16 22:23:07 173

原创 JAVA面向对象

面向对象的特点封装性,继承性,多态性多态:抽象类和接口类的权限设置会约束类成员的权限设定局部变量在使用时必须进行赋值操作或者初始化,否则会编译错误静态变量归类所有,区别具体的对象不能将方法内的局部变量声明为static垃圾回收机制·对象引用超过其作用范围,这个对象将被视为垃圾·将对象赋值为null包装类Java并不是纯面向对象的语言,Java语言是一个面向对象的语言,但是Java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作.Integ

2021-10-15 22:00:39 67

原创 JAVA概念拾遗

Java SEJava的标准版,主要用于桌面应用程序的开发,包括了Java语言基础、JDBC、I/O、网络通信、多线程等技术。Java EEJava的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP,其核心魏EJB(企业Java组件模型)。Java ME主要用于嵌入式开发。Java 特性分布性:操作分布和数据分布可移植性:Java程序具有与体系结构无关的特性工具Java API 文档编程接口的编程词典。API包括类的继承结构、成员变量和成员方法、构造方法、静态成员的详

2021-10-11 22:01:46 125

原创 数学之概率和数学期望于2020/8/17

求取数学期望一般用到数学期望的线性性质。由于线性性质和dp的状态转移思想很相似,常常用dp实现。poj 2096考点:dp,数学期望dp推导公式为概率公式dp倒推回答案hdu 4035考点:图、数学期望、dphdu 3853类似poj 2096hdu 4405...

2020-08-20 15:59:44 109

原创 数学之组合数学于2020/8/13

鸽巢原理原理1: 把多于n+1个的物体放到n个抽屉里,则至少有一个抽屉里的东西不少于两件。原理2:把多于mn+1(n不为0)个的物体放到n个抽屉里,则至少有一个抽屉里有不少于m+1的物体。原理3:把无数多件物体放入n个抽屉,则至少有一个抽屉里有无数个物体。原理4:把mn-1个物体放入n个抽屉中,其中必有一个抽屉中至多有m-1个物体。hdu 1205只考虑最多的一种糖果的数量和其余所有的糖果总数之间的关系hdu 1808...

2020-08-17 12:23:13 221

原创 数学之数论(素数)于2020/8/7

素数的判断1.试除法2.巨大素数的判断(较难理解)这是随机算法,虽然有可能是伪素数,但是概率很低。除了说一句太强了之外我还能说什么呢。记得套板子即可。3.质因数分解算法(难以理解)需要和上面的大素数判断算法结合起来使用。注意:2,3灵活套用模板4.利用埃氏筛法求素数数量(范围<=1e7)判断n是不是素数:如果n不能整除2~sqrt(n)内的所有素数,n为素数5.埃氏筛法应用于大区间素数求区间[a,b]的素数,范围:a<b<=1e12,b-a<=1e6方法:

2020-08-13 11:31:47 169

原创 Codeforces Round #661 (Div. 3) 于2020/8/5(待补)

D题目大意:给出的是二进制字符串,问最小有几个0101…/1010…字串。解题思路:当时写的时候一直想要循环循环,毫无疑问超时了看到大佬的题解(原谅我还没有强到直接看代码),只是稍微一指点:用两个队列,就会了。具体AC代码:#include<bits/stdc++.h>using namespace std;int a[200050];int main(){ int t; cin>>t; while(t--) { queue<int>

2020-08-07 09:16:09 107

原创 数学之数论(同余与逆元)于2020/8/6

扩展欧几里得算法求一元同余方程即ax于b同余于m,改写成ax+m*y=b,再解方程.求解逆元的方法这一段吃过不少亏队友用的一直是费马小定理求解逆元(要求模数为素数)当然也可以用扩展欧几里得算法求逆元hdu5976贪心+逆元当然也可以说是构造,构造方法还是很巧妙的,需要一点灵光一闪详细的推导过程点这里似乎还要用二分来找k,时间卡得比较紧。一整个下午花在这条题目上,讲一下最坑的点:存储2…n的乘积的数组(取余)必须用long long,这我也不知道为什么,总之是对拍试了无数次才发现的。附

2020-08-06 17:28:58 224 1

原创 数论之数论(GCD&LCM)于2020/8/1

hdu1019套LCM模板hdu1576给我的启发还是推导公式推导公式是数学题/数论题的基础本题通过推导得到Bx-9973y=n(x即为所求)然后套exgcd的模板即可hdu2504基础的GCDhdu2588题目给出的提示是用欧拉函数,但是我想破脑袋也不知道和欧拉函数的关系。后来发现是要巧妙地转化一下,欧拉函数的重点就在于互质嘛...

2020-08-06 09:54:19 165

原创 2020牛客多校第八场于2020/8/3

今天是第一次品尝到了差一点点就能过题的悲哀主要是榜单被带歪了,真正的签到题G开题太晚了,加上我对字符输入的不熟悉,把两个循环都写出了低级错误,最后在比赛结束五分钟时才检查出来,遗憾至极。G模拟由于题意稍微稍微有点难理解,榜单有点歪看不懂题意的先去搜索一下set牌的规则#include<bits/stdc++.h>using namespace std;struct node{ int a,b,c,d; }nod[305];bool hanshu(int j,int k,i

2020-08-04 16:14:45 116

原创 2020牛客多校第七场&&数论之整除分块于2020/8/1

这场队友表现神勇,我也有所进步。(其实运气好,正好我和队友都会一点数论,前三条都是数学类型的)其中有一条是整除分块的体型,今天的博客重点说一下整除分块的知识和重写H。整除分块求解问题:找一个低复杂度的算法,即整除分块。不考虑推导过程的话,引用某大佬的:H比赛时我通过打表找规律,发现了如下规律:当n%k=0或者n%k=1时满足题意这与题解中的相符,即然而数据量之大导致了我们不可能暴力枚举,队友说要用到整除分块的思想,让我们看看题解怎么说:...

2020-08-02 23:00:43 111

原创 数学之数论(快速幂)于2020/7/29

写在前面:数论是我曾经热爱过,取得过成绩的,也是悲哀过,越不过鸿沟的。三年前我在数学奥赛夏令营选择放弃,三年后我在ACM赛场再次相遇。我打算再冲一次。快速幂hdu 2817注意判断是算术序列还是几何序列即可hdu 1061n^n的最后一位,有点唬人(才怪)hdu 5392...

2020-07-31 16:54:44 141

原创 2020牛客多校第五场于2020/7/25

第五场校赛我可能很久都忘不了真的真的真的太菜了如果到了下学期还是这么菜,可能真的要考虑提前退役通过:F纯模拟题,签到I这道题目纯数学题,在纸上多画一画,多列举几种可能的情况,多试几次总能猜到正确答案(想要证明恐怕很有难度)答案是2/3补题:E这道题目队友当时就给了一种暴力的方法,从顺序排列依次回推,当然...

2020-07-29 20:43:06 89

原创 数学之高精度(续)于2020/7/29

hdu 1047考点:高精度加法注意输出格式,输出错误三次(没好好看题)** hdu 1063考点:实数的高精度幂说真的这有点坑人,因为没想过写实数的高精度(你把double放哪儿了)找到的题解里重新定义了大实数的结构体,现场写也不是不可以,但是恐怕会花很长很长时间(凭我的编码水平写这么大代码量…)hdu 1316考点:大数比较套模板卡了很久!是因为没有注意范围(开的数组太小了,进行相加操作溢出了,显示的是WA而不是RTE)#include<bits/stdc++.h>u

2020-07-29 16:30:50 105

原创 高精度算法于2020/7/24-25

今天补的是之前所看到的高精度算法。主要从洛谷和杭电几条经典题目入手。原理:因为long long乃至double能表示的范围有时候达不到题目所需要的范围。所以利用数组模拟大数的加减乘除。首先感谢大佬详细的教学@zsjzliziyanghttps://www.cnblogs.com/thereal/p/11294746.html我这篇就相当于学习大佬教学的心得吧高精度加法P1061#include<cstdio>#include<cstring>#include

2020-07-29 10:16:31 109

原创 2020算法竞赛网络赛补题于2020/7/26

很遗憾,爆零接着的百度之星也以微小的差距没能晋级(去年还晋级了的啊)队友给我的定位非常准确,比赛是要打,但是基础的算法必须要掌握牢固才行,否则打再多的比赛也达不到区域赛实力先补题A很显然的是迷宫题,而且看出来是BFS然而BFS本身写不出(基本功啊喂),我想如果上次校赛那题学会了的话,说不定可以写出来。考点:BFS难点:输入非常恶心,在输入两个整数之后的换行符,要记得用一个cin.getline()读掉。标程:当然题目里面没有说是两个入口,可以对每个入口都进行一次BFSB猜测是一道DP

2020-07-27 10:47:09 216

原创 矿大校赛补题&洛谷水题于2020/7/22-23

要不是和人聊起来,我几乎忘了卑微的校赛。但是ACM本来就是踏着尸骨前进的路途(开玩笑),有时间就重新看一下。Brannn爱小猪这一条是我写的时候感觉百分之百对的题,看了题解才发现我忽视了一个严重的问题:小猪死掉之后就不能死而复生了(话说真是残忍的出题人,小猪那么可爱…)那么每一只猪的状态数就改变了(举例子就可以发现)代码是不存在的,因为现在不能提交了数组构造比赛用的set,毫无疑问超时了根据题解,判断a[i],如果a[i]!=a[i-1],b[i]=a[i-1]剩下的再用set判断就这样

2020-07-24 23:21:19 106

原创 2020牛客多校第四场于2020/7/20-21

前两天参加了多校第三场,感慨就是菜是真的菜,代码写得还不规范,碰上一个想要卡时间复杂度的出题人直接GG。说到G,牛客多校第三场的G题还不会,希望放到本篇里面继续学习。2020/7/20目标:牛客多校第四场rank:top500完成B,FB解读数学表达式,再加上少许尝试,发现答案为pow(c,cnt)其中cnt是n的质因数的个数需要打表TLE了两次F题意:已知AB//CD所在直线,知道AC,AD,BC,BD的值,问确定CD的顺序。补题:H题意:从1到n中最多能取出几对最大公因数

2020-07-22 00:38:21 193

原创 2020牛客多校第三场题解于2020/7/18-19

2020/7/18:牛客多校第三场(也是放假的第一场)(英文读题);继续刷基础入门题找回手感;遇到有趣的题有:P1009用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:5!=5×4×3×2×1显而易见(题目都说了),高精度嘛还是很容易上手的,但是由于很久不打居然错了好久。当然这道题本身…算得上是最简单的高精度练手啦,代码如下:#include<iostream>#include<algorithm>#include<

2020-07-19 23:44:21 179

原创 洛谷基础题于2020/7/17

洛谷P2181对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。输入只有一行一个整数 n,代表边数。输出一行一个整数代表答案。在刷水题时刷到的,意外卡了很久。首先想到的是列举样例,样例如下:n=1,2,3 ans=0n=4 ans=1n=5 ans=5n=6 ans=15…接着想到的是使用数学归纳法,但是意外地发现难度比较大(第一本身就不知道公式,骑驴找驴;第二新增的点所连的每一条的边新增的交点数难以确定且找不到规律)最后想要带上顶点找

2020-07-18 11:04:31 450

原创 数论题之GCD&LCM于2019/9/24

看到大佬夺CCPC首金,心潮澎湃的我打算向大佬看齐!ok,基于在组内分管数学题的任务,我开始学习数学题算法。第一章,GCD&LCM这个用辗转相除法代码很容易实现int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}int lcm(int a,int b){ return a/gcd(a,b)*b;}当然我更习惯这样写,其实...

2019-09-24 20:13:39 243

转载 第一篇博客

**pta天梯模拟之帅到没朋友****大概是三月二十三号第一次打的天梯里的一条,当时编译器用不了,整个人都不好了,毫无悬念地拿了倒数第一,尤其这一条怎么也写不对,今天就看了别人写的,果然技不如人。**当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(\le 100≤100),是已知朋友圈的...

2019-04-02 22:37:37 76

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除