走在前往架构师的路上

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

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

HDFS精华文章汇总

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

2017-12-03 11:45:14

阅读数:1715

评论数:2

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

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

2015-02-27 10:04:01

阅读数:14396

评论数:16

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

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

2014-11-08 10:16:37

阅读数:16588

评论数:6

Hadoop Rolling Upgrade经验总结

前言 从去年下半年开始,组内就开始着手准备升级公司内部的Hadoop集群,由于老版本实在已经落后社区很多了,也陆续碰到很多社区上已经被fix的bug。所以决定做一个大胆的举动:升级公司内部大集群版本。像这种比较aggressive的做法,很多人不是一开始能够接受,它存在不可控的风险。但所幸,...

2018-10-28 11:48:00

阅读数:74

评论数:0

基于滑动窗口的性能指标衡量算法

前言 在复杂的分布式系统中,存在着各种性能指标,比如系统请求数,请求响应时间等等。这些指标在一定程度上可以反映出系统运行的快慢程度。但是这里我们如何做到更加准确的判断,而不是说只要出现异常指标,就认定系统有问题,显然这是不合理的。今天,笔者来为大家讲述基于滑动窗口的性能比较算法。如何收集,利...

2018-10-06 16:32:08

阅读数:101

评论数:0

HDFS支持外部存储

前言 在HDFS的使用过程中,有的时候我们会存在依赖外部数据读取的操作。首先,HDFS集群的数据存在容量问题,随着数据量上升,需要的存储空间必然要往上走。那么这个时候,是否我们能够有一种方式把部分数据存放到外部存储上呢。这样,我们将会在一定程度上增多HDFS的使用场景,比如空间能节省出来,还...

2018-10-03 22:44:09

阅读数:82

评论数:0

分布式系统中如何较好地做服务发现

前言 在分布式系统中的中心管理服务模式下,往往采用的模式是1个manager服务节点,多个worker节点,然后由manager来管控这些worker节点。但是本篇文章不是来讲manager如何管理的问题,而是woker识别发现manager服务的问题。目前一种比较简单的做法,通过worker节...

2018-09-24 22:35:16

阅读数:74

评论数:0

YARN Container的NUMA感知支持

前言

2018-09-16 23:31:54

阅读数:72

评论数:0

YARN的约束化标签支持

前言 在比较早期的时候,YARN就已经实现了具有分片功能的node label功能,以此确保应用资源的使用隔离。我们可以理解为这种标签是单一维度的,假设我们有多维度标签使用的需求时,这种node label就不是那么好用了。当然,你可以说,我们可以构建多个标签,一个节点同时赋予多个维度标签,...

2018-09-12 22:57:44

阅读数:63

评论数:0

YARN基于IO资源的隔离调度

前言 众所周知,目前YARN所支持的资源类型主要有2两大类:内存和CPU.但是其实对于操作系统层面,还有一个重要的资源是没有被YARN考虑在内的,就是IO资源,这里的IO资源你可以理解为比如说存储空间的容量,但是它其实也可以有其它的含义。目前YARN这种不考虑IO资源状况的调度方式,会造成有...

2018-08-28 13:30:31

阅读数:214

评论数:0

Yarn支持队列内多优先级应用调度

前言 在上篇文章中,笔者刚刚阐述过Yarn队列的多优先级调度策略,不同的队列分配不同的优先级等级,这样提交到优先级高的队列上的应用能被优先被处理。但是又一个问题来了,如果我们又想在同一个队列内,对应用的优先级再次进行划分呢?而不是按照纯粹提交时间来进行先后顺序调度。答案是可行的,本文笔者来简...

2018-08-23 00:22:15

阅读数:110

评论数:0

基于Hadoop YARN之上的PaaS构想

前言 在Hadoop YARN发展早期,社区曾经讨论过在YARN之上提供Paas服务。当时业界已经有很多企业提供付费模式的Paas服务,作为当时已经被大量使用在公司企业内部的Hadoop系统,自然我们可以提出这样一个大胆的想法;为什么不可以在YARN之上构建Paas云服务呢?不过遗憾的是,这...

2018-08-19 10:49:07

阅读数:170

评论数:0

YARN队列优先级分配策略

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

2018-08-13 22:54:28

阅读数:371

评论数:0

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

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

2018-07-31 18:40:20

阅读数:332

评论数:0

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

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

2018-07-21 12:10:10

阅读数:226

评论数:0

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

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

2018-07-13 15:39:03

阅读数:254

评论数:0

聊聊RPC的拥塞控制

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

2018-06-29 18:24:07

阅读数:4348

评论数:0

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

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

2018-06-17 15:34:48

阅读数:446

评论数:0

HDFS SBN实现与ANN的一致性读

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

2018-05-30 11:31:30

阅读数:478

评论数:2

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

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

2018-05-25 16:27:10

阅读数:749

评论数:0

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