走在前往架构师的路上

专注于分布式计算,大数据,数据挖掘,机器学习算法等领域的研究

排序:
默认
按更新时间
按访问量

HDFS精华文章汇总

前言自2015年下半年起,笔者开始写关于Hadoop的文章(主要集中在HDFS),包括源码分析类的,问题分析解决又或者是内部机制剖析。这些文章目前汇总数量已经达到70+篇。这些文章对于笔者来说是一个宝贵的资料,这些文章见证了笔者从一名Hadoop贡献者成长为Hadoop Committer的过程。...

2017-12-03 11:45:14

阅读数:1446

评论数:2

18大经典数据挖掘算法小结

本文所有涉及到的数据挖掘代码的都放在了我的github上了:https://github.com/linyiqun/DataMiningAlgorithm 大概花了将近2个月的时间,自己把18大数据挖掘的经典算法进行了学习并且进行了代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等...

2015-02-27 10:04:01

阅读数:14041

评论数:16

Redis源码分析(三十六)--- Redis中的11大优秀设计

坚持了一个月左右的时间,从最开始的对Redis的代码做分类,从struct结构体分析开始,到最后分析main主程序结束,中间,各大模块的代码逐个击破,学习,总之,收获了非常多,好久没有这么久的耐心把一个框架学透,学习一个框架,会用那只是小小的一部分,能把背后的原理吃透才是真功夫。在这个学习的最后阶...

2014-11-08 10:16:37

阅读数:16078

评论数:6

YARN队列优先级分配策略

前言 在YARN早期的队列分配策略中,系统采用的是相对直接简单的办法:按照相对使用率选择。简单地来说,就是选择相对使用率最低的队列,然后把应用提交那个队列上。但是这种简单直接的做法,有的时候也会暴露出它的弊端。本文笔者来聊聊这个话题以及对应的一个优化分配策略。 按相对使用率分配策略的弊端 ...

2018-08-13 22:54:28

阅读数:18

评论数:0

流处理系统中的“Exactly Once”语义保证

前言 最近在学习一些流处理相关的知识,对比与笔者接触比较多的离线处理系统,实时流处理的有些地方还是比较有意思的。在这里面,最常被人提到的词应该是“Exactly Once”语义 ,在工作面试中,如果做过实时流系统,肯定免不了被问到“xx框架是如何做到Exactly Once的”?笔者最近在阅读S...

2018-07-31 18:40:20

阅读数:210

评论数:0

Alluxio的整体架构与数据流形式

前言 在如今各种计算,存储框架层出不穷的情况下,我们在工作中对于一个需求的解决可以用很多种方案进行解决。不同框架的组合会有不同性能上的表现,但是这里会涉及到一个性能和开销的权衡问题。因为不同框架的组合需要有额外的联结适配工作,不可能组合所有的框架来做生成的实现方案。于是在计算和存储中间,其实...

2018-07-21 12:10:10

阅读数:133

评论数:0

“标签化”思想在分布式系统中的应用

前言 最近一周在研究YRAN的Node-Label功能特性,进行了一个简单的测试,然后顺便看了它的原始设计文档。后来发现,这个特性跟HDFS里的异构存储原理有异曲同工之妙。其中都体现出的一个核心点:“标签化”。所以本文,笔者来聊聊“标签”在分布式系统领域内的应用,应用场景是绝对有的。 ...

2018-07-13 15:39:03

阅读数:179

评论数:0

聊聊RPC的拥塞控制

前言 这个话题的背景源自于Hadoop内部的底层RPC处理过程,但是笔者认为针对所有其它RPC处理场景中也会碰到类似的拥塞问题,所以可以拿出来简单讲讲。首先来解释一下这里的名词,这里的RPC拥塞指的是系统被大量的用户特定的请求堵住了,导致没办法有资源来处理其它用户的正常请求,这里我们假设请求...

2018-06-29 18:24:07

阅读数:4242

评论数:0

HDFS FoldedTreeSet的引入以及FBR优化处理

前言 在现有HDFS处理FBR(全量块汇报)逻辑中,处理开销是比较高的,尤其当集群中有大量块的时候。对此,社区在HDFS-9260中提出了一种新的树型结构来优化这块的处理。它本质上是一种排序好的Set集合,名为FoldedTreeSet。 FoldedTreeSet的作用 社区在实现...

2018-06-17 15:34:48

阅读数:366

评论数:0

HDFS SBN实现与ANN的一致性读

前言 众所周知,HDFS在启用HA模式下时,会有一个ANN(Active NameNode),以及一个SNN(Standby NameNode)。它们之间在通过QJM机制实现元数据的信息同步,简单的来说就是ANN将改动的元数据消息记录(editlog)写到JNN(JournalNode)上,...

2018-05-30 11:31:30

阅读数:397

评论数:2

HDFS文件目录list操作加速优化

前言 在我们使用HDFS作为数据存储文件系统时,恐怕最常使用到的命令就是ls命令了。我们往往先使用这个命令查找出目前我们期待的文件目录信息,然后对查出的这些文件目录做后续的操作。所以说,list操作的执行效率高低对用户以及上层应用层调用程序来说就显得十分重要了。 当前List操作的问题 ...

2018-05-25 16:27:10

阅读数:647

评论数:0

ListenableFuture和CompletableFuture简单小结

前言 最近花了点时间熟悉了下ListenableFuture和CompletableFuture的使用。二者都是原生JDK中老版Future-Get模式的改进。本文将结合demo程序来直观的学习一下这两大Future的使用特点。 老版Future模式的缺点 老版Future模式一...

2018-05-19 11:30:17

阅读数:653

评论数:1

公司如何使用开源软件

前言 本篇文章的内容来自于Hadoop元老级人物(也是Cloudera首席架构师)Doug Cutting对于公司如何使用开源软件来提升公司商业价值的一个分享。其中分享了很多与公司和开源有关的一些内容,本文对其做了简单的小结和概括(第一人称叙述)。原文为纯英文,感兴趣的同学,点击此链接阅读:...

2018-05-07 18:16:00

阅读数:331

评论数:0

LinkedBlockingQueue和ArrayBlockingQueue之间的比较

前言 最近在工作中用到了LinkedBlockingQueue,不过随后发现了另一个与此用途十分类似的类ArrayBlockingQueue。于是花了点时间,查阅了相关的文章介绍,本篇就来简单的做个小结,也是为了方便下次查阅。 LinkedBlockingQueue和ArrayBlocki...

2018-05-06 22:37:46

阅读数:157

评论数:0

简单聊聊HDFS RBF第二阶段工作近期的一些进展

前言 前些时间Apache Hadoop 3.1.0版本正式发布,里面新增了很多feature以及一些bug fix,improvement改进。因为笔者本人最近几个月一直跟进,参与的是HDFS RBF这块,所以就简单聊聊这块所做的一些事情,旨在帮助大家方便了解这个feature具体做什么的...

2018-05-05 21:57:09

阅读数:308

评论数:0

AWS S3存储基于Hadoop之上的一致性保证

前言 Hadoop发展至今,它所涵盖的周边生态圈已经非常庞大了。但是作为一套目前看来如此成熟的系统,免不了要做一些兼容性的事情,比如一些第三方服务类型的系统。毕竟有些用户会使用到第三方的系统,但又不想去改变现有程序运行的模式以及学习第三方系统的成本。Hadoop作为一个如此成熟的项目,在兼容...

2018-04-14 11:40:44

阅读数:395

评论数:0

简单聊聊Synchronized和ReentrantLock锁

前言 前些天偶然阅读到了一篇IBM博客,讲述Synchronized,ReentrantLock锁的区别以及相关的性能比较,读完发现获益匪浅,自己之前对于这块知识了解的还挺浅的。所以本文就是对此的一个小结吧。这里笔者将主要讨论这么几个话题:Synchronized和ReentrantLock...

2018-04-07 15:23:43

阅读数:171

评论数:0

HDFS RBF支持多目标集群的挂载映射

前言 在RBF出现之前的ViewFS还是现在发布的RBF,目前支持的映射模式都是1对1的。什么意思呢?就是一个虚拟路径地址对一个实际集群地址。这种方式会有个弊端,如果写入的数据量很大,那么这个集群会出现容量用完的情况。针对这种潜在的“大路径”,其实我们可以希望他的目标集群地址可以有多个。这样...

2018-03-18 15:31:03

阅读数:231

评论数:0

一致性哈希环的理论实现

前言 最近阅读社区代码时,发现了一段富有创造性的程序算法–一致性哈希环。也就是一致性哈希算法的具体实现,由一位微软工程师在提交社区代码时,笔者review到的,感觉代码实现严谨简洁,并且把一致性哈希环的特点全考虑到了,是一段很不错的算法程序。本文简单对其进行分析,解释。一致性哈希算法这里就不...

2018-03-11 22:48:53

阅读数:350

评论数:0

现阶段为什么国内程序员无法很好的参与到开源社区?

前言 早在2年多前,笔者曾写过一篇关于如何参与到开源社区的文章:作为一名非Committer,如何向开源社区提交自己的代码,但是现在笔者重新阅读这篇文章,发现与其讲述的参与开源的方法论,还不如帮大家仔细分析其内在本质的一些现象和原因,核心问题:为什么国内程序员无法很好的参与进开源社区?笔者在...

2018-03-03 11:53:19

阅读数:369

评论数:1

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