- 博客(11)
- 收藏
- 关注
原创 p6
p6Majority voting scheme为了不出现网络分裂,服务器的数量得是奇数个2f+1台服务器可以忍受f次故障在两次大多数选举中,必然有至少一台服务器两次都为Leader投出了选票,也就总会有重叠的服务器。因此,两次leader都可以知道上一个leader的term号raftclient发送的请求会被leader的raft接收而不是第一时间提交给机器执行,raft会将指令传给replication的raft,只有日志中的操作被大多数机器的raft写入日志时,leader(以及其他re
2021-05-17 21:11:53
182
原创 P5
P5go threads闭包:一个作用域内定义的匿名函数,可以使用作用域的变量,但外部变量修改后,可能会导致闭包捕获了不是期望中的变量值,例如循环的 i 就不能随意捕获在lock 和 unlock之间,只能由一个线程对上面的变量执行任务。一但main退出,其中的所有线程也会退出如果有一些变量想跨线程读写,最好就要有一把锁。defer可以将锁移到最后函数最后一行执行condition variable(条件变量)在一个线程中如果用一个无限循环,来检查某个flag型的变量,等待变量改变后做出相应
2021-05-15 17:36:16
233
原创 P4
P4Replication可以解决fail-stop faults,纯粹的硬件故障或者网络问题导致的偶尔发生的挂机错误不能解决软件bug和硬件缺陷导致的计算错误问题以及关联性故障(所有副本的机器由于同样的原因发生同样的故障比如地震)methodsstate transfer primary将自己状态发送给后备,以便在自己出问题时可以由后备机器接管replication state machine: primary 发送给backup来自外部的操作,而不发送自己的状态,操作的代价远小于
2021-05-13 23:07:16
165
原创 spark本地运行踩坑
Path: /D is a directory, which is not supported by the record reader when mapreduce.input.fileinputformat.input.dir.recursive is false.windows本地输入不能是文件夹啊
2021-05-12 23:15:24
1206
原创 P3
P31.Big StorageWHY HARDfor performance -> sharding(分片给大量服务器并行读取) -> faults(服务器太多,总会有迭机,而且对于整个系统而言非常频繁) -> tolerance(容错) -> replication(为数据建立副本) -> consistency(一致性,副本与副本之间可能不一致,数据的值取决于读到哪一个副本 ) -> low performance(额外的网络通信)于是与最初为了高性能矛盾
2021-05-12 18:20:25
128
原创 spark windows下idea运行
spark windows下idea运行各环境准备:本地必须有spark,hadoop,scala,并配置完好,设置好路径idea要下载scala的相关插件,并设置SDK,maven相关scala的依赖要写好。scala的sdk不可以导入多个scala和spark版本要对应hadoop的windows补丁要存在如果出现内存错误,在配置conf时,加上如下代码:SparkConf conf = new SparkConf().setAppName("test").setMaster("loca
2021-05-10 21:37:14
268
原创 p2
p21.Use threadIO concurrency 提高程序的并发度,每个线程可以有自己的活动,可以处理各种请求parallelism 多核并行,提高CPU利用率convenience 有些其他任务可以分给其他线程,比如周期性检查worker是否活动线程越多,服务器开销负载越大事件驱动可以获得一定的IO concurrency,但是没有parallelism,而且要代码工作量巨大一个线程创建了一个对象在内存中,其他线程也可以调用。时间片切换时,大部分语言中进程内部的线程都在进程内继续
2021-05-10 21:12:20
119
原创 p1
p11.为什么实现分布式系统高并行性(性能)高容错例如银行转账天然的分布式需求安全性(将计算分开,不被信任的部分在别的地方运行)隔离性2.challenges部分故障performance(随着机器数量的提升,性能并不能简单地线性拓展)3.application(infrastructure)storagecomputecommunication4.容错Availability 可用性,当系统出现某个程度故障时,仍然通过某些方式(例如副本)来提供正确的服务,对用户而
2021-05-09 17:08:02
96
原创 MapReduce源码初探
1.入口在下面的作业提交入口中点入:boolean result = job.waitForCompletion(true);if (this.state == Job.JobState.DEFINE) { this.submit(); }确认状态后提交,这便是debug时的代码入口2.状态进入后由方法名称可知是确认任务的状态,状态是enmu类型,但为什么要确认,状态为何异常却不清楚,而且进入submit()之前经过了一次判断,什么会导致刚判断成功进入
2021-05-08 00:49:42
121
原创 spark安装踩坑
spark安装踩坑1.下载文件应当下载前三个,最后一个很小估计只有代码资源,该有的包都没有。于是直接运行bin/spark-shell 时会报错:Failed to find Spark jars directory (/opt/module/spark-3.1.1/assembly/target2.JNI error报错:A JNI error has occurred, please check your installation and try again这种情况是由于*/opt/modu
2021-05-08 00:15:18
2114
原创 GAN初学
GAN,生成对抗网络,其实就是有两个Neural Networks,一个是Generative,给其一个random的vector可以生成一个想要的东西,cv领域就是一张图片,nlp领域自然就是一句话。另外一个便是Discriminative,顾名思义,负责根据已有数据,来分辨接收到的图像或者句子是生成器生成的还是原始数据,在接收到一个数据后,会生成一个scalar,数值越大,则数据来自database的可能性越大,也就是说越真实。有点类似于生物界被捕食者与捕食者之间的关系。被捕食者在一代一代地进化中,尽
2021-02-09 23:46:56
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人