摘要: 背景 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先级 阅读全文
posted @ 2018-01-25 22:07 强迫疒 阅读(146) 评论(0) 推荐(0) 编辑
摘要: java.util.concurrent这个包大致可以分为五个部分: Aomic数据类型 这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的 阅读全文
posted @ 2018-01-25 21:53 强迫疒 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1.数据安全 01 数据安全的原则 1)在网络上"不允许"传输用户隐私数据的"明文" 2)在本地"不允许"保存用户隐私数据的"明文" 02 数据加密的方式和规范一般公司会有具体的规定,在此不再赘述。 2.Base64 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要。 特点 阅读全文
posted @ 2018-01-18 21:24 强迫疒 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1 背景 分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC 中介绍了一致性,Paxos协议在节点宕机恢复、消息无序或丢失、网络分化的场景下能保证决议的一致性,是被讨论最广泛的一致性协议。 2 Basic Paxos 作为解决一致性问题的协议,Paxos的核心是节点间如何确定并只确定一 阅读全文
posted @ 2017-12-14 22:40 强迫疒 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1 背景 在测试spark计算时,将作业提交到yarn(模式–master yarn-cluster)上,想查看print到控制台这是很难的,因为作业是提交到yarn的集群上,所以,去yarn集群上看日志是很麻烦的,但是又需要看print的信息,方便调试或者别的目的。 Spark日志确切的存放路径和 阅读全文
posted @ 2017-12-14 22:11 强迫疒 阅读(2558) 评论(0) 推荐(0) 编辑
摘要: 1 物理时钟 vs 逻辑时钟 可能有人会问,为什么分布式系统不使用物理时钟记录事件?每个事件对应打上一个时间戳,当需要比较顺序的时候比较相应时间戳就好了。 这是因为现实生活中物理时间有统一的标准,而分布式系统中每个节点记录的时间并不一样,即使设置了NTP时间同步节点间也存在毫秒级别的偏差。因而分布式 阅读全文
posted @ 2017-12-08 00:07 强迫疒 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 1 选举 1.1 简述 一致性问题(consistency)是独立的节点间如何达成决议的问题,选出大家都认可的leader本质上也是一致性问题,因而如何应对宕机恢复、网络分化等在leader选举中也需要考量。 1.2 Bully算法 Bully算法是最常见的选举算法,其要求每个节点对应一个序号,序号 阅读全文
posted @ 2017-12-07 23:56 强迫疒 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 1 一致性 1.1 简述 一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的 假设一个具有N个节点的分布式系统,当其满足以下条件时,我们说这个系统满足一致性: 全认同: 所有N个节点都认同一个结果 值合法: 该结果必须由N个节点中的过半节点提出 可结束: 决议过程在一定时间内结束 阅读全文
posted @ 2017-12-07 23:39 强迫疒 阅读(17766) 评论(1) 推荐(5) 编辑
摘要: 1 简述 Spark为包含键值对类型的RDD提供了一些专有的操作。这些RDD被称为PairRDD。 2 创建PairRDD 2.1 在sprk中,很多存储键值对的数据在读取时直接返回由其键值对数据组成的PairRDD。 2.2 可以调用map()函数,将一个普通的RDD转换为PairRDD。 sca 阅读全文
posted @ 2017-11-29 23:52 强迫疒 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 1 简述 spark中的RDD是一个分布式的元素集合。 在spark中,对数据的所有操作不外乎创建RDD,转化RDD以及调用RDD操作进行求值,而这些操作,spark会自动将RDD中的数据分发到集群上,并将操作并行执行。 2 创建 RDD 创建RDD分两种:读取外部数据集,在程序中对一个集合进行并行 阅读全文
posted @ 2017-11-29 23:31 强迫疒 阅读(349) 评论(0) 推荐(0) 编辑