7 Android路上的人

尚未进行身份认证

开源社区爱好者,Apache Hadoop Committer & PMC,专注于分布式系统,大数据,算法方面的研究

等级
博文 337
排名 1k+

聊聊更为高效的ACL认证方式

文章目录前言传统ACL认证模式的缺点基于比特位的ACL存储方式RadixTree的ACL构建前言在存储系统中,为了保证数据的安全性,凡是需要访问数据的用户,都是需要被验证其是否有足够权限访问的。这个认证过程可以是传统UGO(user,group,other,rwx)的方式,当然也可以是另一种ACL的方式。ACL是为每个需要被访问的资源指定了可允许用户的列表,每个用户还被声明了能够允许的...

2019-06-24 21:17:39

YARN Federation的架构设计

文章目录前言前言对于HDFS的扩展性问题来说,很多人或许都了解过HDFSfederation的方案,一种通过横向扩展命名空间的做法来延展其扩展性。其实,随着集群规模的扩张,不仅仅存储系统会有性能瓶颈问题,计算系统也会存在这样的问题,比如说YARN的ResourceManager(下面简写为RM)服务。当RM下面管理这上千甚至上万个NodeManager节点时,同样会面临着许多性能问题,大量...

2019-06-20 23:39:35

HDFS RBF的资源隔离设计

文章目录前言RBF的资源隔离和FCQ的资源隔离RBF的fairness管控原理引用前言Hadoop社区在HDFS-10467中实现了基于路由的federation功能,此功能比原先传统的HDFSfederation+viewfs的方式有了很大的改进,真正做到了基于后端的路由映射,而不是viewfs在客户端做地址解析转发。基于后端来做的话,背后的mount映射管理权就归到了系统管理员身上了。...

2019-06-15 12:25:30

Trie Tree和Radix Tree

前言在实际应用场景中,很多时候我们会用到字典集的查找。通过一个键值key,去拿到它对应的值对象。这种方法确实很高效,很快,但是这里有个问题,当字典集储存的键值很多的情况时,毫无疑问,这里会消耗掉大量的内存空间。这个在我们做基数计数的统计应用时,这个空间会膨胀地特别厉害。本节笔者将要谈论的是对于基数统计来说,使用上更为适用的1种数据结构TrieTree以及它的衍生优化版RadixTree。...

2019-06-13 22:38:28

DataNode Layout升级解决Du操作引发的性能问题

文章目录前言DataNode中Du操作的性能问题Linuxdirectory、inodecache对于du的影响DataNodeLayout升级减少现有目录层级前言在HDFS的DN中,为了计算DN的capacity使用量,DN会针对其自身的每块盘路径,进行du操作,然后将此数据汇报到NN中,然后NN就知道了下面所有DN的实际空间使用容量了。然后NN就知道哪些DN有空间能被写数据进去,哪...

2019-06-09 11:01:11

Write-Ahead Log(WAL)的工作原理

前言在存储系统的运行过程中,每时每刻都发生着数据的更新,背后意味着诸如创建,删除,修改文件等数据的操作。抛开物理文件数据的改变,对于中心控制节点而言,这些都会涉及到元数据的更新操作。而为了保持系统元数据和物理数据间的状态一致性,系统所有的数据操作对应的元数据变更都需要持久化到元数据db内,但其实这里有一个性能问题,我们的每次变更如果都要实时同步到外部db内,是否意味着高频的io操作?是否有延时...

2019-06-07 10:12:05

YARN的共享存储服务

文章目录前言YARN的共享存储服务的起源YARN的共享存储服务架构共享存储服务的组件构成共享存储服务的流程后续改进工作参考文献前言在YARN上运行的任务,在任务正式开始运行之前,需要有一步资源的localization的过程,然后用户的任务才能顺利地跑起来。这个”资源“可以是用户依赖的库文件等任务运行所需要的文件。这些资源文件被YARN中此任务对应的Container所共享,这些Contai...

2019-05-29 00:25:33

论分布式系统内的节点坏盘感知

文章目录前言磁盘损坏的定义HDFS(存储系统)的磁盘检测YARN(计算系统)的磁盘检测附注:YARNAsyncDispatcher的内部细节流程前言在分布式集群运行环境中,磁盘损坏是极为司空见惯的事情。损坏的一个直接影响是系统少了一个可用空间,同时也意味着上面存储数据的损坏。而对于这样磁盘的损坏,它分别对于存储系统和计算系统的影响并不相同。同样的,对于坏盘和处理逻辑,也未必是相同的。本文,...

2019-05-24 22:42:11

存储系统双缓冲设计模式

文章目录前言单缓冲模式单缓冲模式改进:双缓冲模式前言在存储系统写数据的过程中,出于性能上的考虑,新写的数据并不是每次都flush到目标存储中的,而是先放入到一个buffer空间里,等到buffer空间满了,再做一次flush出去的动作。这种情况和人们等车的例子极为类似,一辆车等人都上满了再开,才能保证更高的效率。但是这种缓冲设计模式还是存有一个主要弊端的,当缓冲数据满后将会阻塞住后面的数据...

2019-05-19 12:18:27

YARN的Log Aggregation原理

文章目录前言LogAggregation日志的汇聚日志的retain策略LogAggregation的查询LogAggregation流程图前言在大数据的时代,我们想从数据中去分析提炼出有价值的东西,背后有时是成百上千个任务的运算结果。在一些比较大的数据平台的规模下,出一份第二天的详尽的数据报表信息,需要前一天跑上数十万级别的任务数。更直接地来说,我们的计算平台单日内需要调度并执行完这...

2019-05-11 21:50:40

Ozone Security:基于证书的Block Access Token认证

文章目录前言BlockAccessToken的作用BlockAcessToken的生成证书的生成BlockAccessToken流程图前言在HDFS中,我们有BlockAccessToken的机制来保证DataNode数据块访问的安全性控制。同样地,在Ozone中也有类似地一套安全机制。不过Ozone是基于X.509证书体系下的安全机制,所以在这点上和HDFS的内部实现还是有...

2019-05-06 23:59:14

HDFS块副本的冗余度构建流程

文章目录前言HDFS块状态类型HDFS块副本冗余度的重建重建围绕的核心:NeedReplica待复制副本的优先级划分HDFS的延时副本重建过程前言在分布式存储系统中,数据往往通过以副本的形式来保持其冗余性。因为存储的集群规模大到一定程度,每天有若干节点挂掉是很常见的现象,单副本数据显然会存在高概率丢数据的情况的。那么这里有一个问题,当存储节点挂掉的时候,系统如何再次让数据保持和原先一样的冗余...

2019-05-01 12:45:20

Hadoop Ozone Security模块设计概览

文章目录前言分布式系统的安全设计到的模块ACL/UGO控制Kerberos认证机制+PKI公共密钥设施验证Audit审计日志引用前言任何一个分布式系统,当它的功能实现和设计越趋向于完善的时候,它的安全性就会显得越发的重要。因为一个好用且成熟的系统,依然会存在被恶意者利用安全漏洞攻击的可能性。笔者之前已经聊过些许HDFS安全方面的内容,本文将聊了一个新的系统HadoopOzone在这块的设计...

2019-04-27 23:10:28

HDFS数据In-place Upgrade到Ozone的原型方案

文章目录前言HDFSUpgrade到Ozone的目标前言熟悉了解并使用过HadoopHDFS作为中心数据存储的同学,一定在过去或多或少地遇到过HDFS的扩展性问题,准确来说应该是HDFSNN的扩展性问题。尽管说HDFS在后面引入了诸如HDFSfederation之类的方案,但这只是指标不治本。在上层进行了横向扩展。于是乎,后来Hadoop社区设计实现了Ozone系统,从根本上解决HD...

2019-04-16 23:38:40

Hadoop公平调度队列FairCallQueue的优化设想

文章目录前言优化点一:FairCallQueue对于不同RPCCost的度量优化优化点二:FairCallQueue下的资源预留支持引用前言Hadoop在早期实现了一种公平调度队列取代统一大队列的模式,以此解决HadoopRPC的拥塞控制问题。简单来理解就是防止个别“不良”用户发起的大量的RPC请求堵住正常用户的请求处理(这部分细节内容可查阅笔者之前写的相关文章)。但是从后面用户对新的...

2019-04-07 23:52:16

存储系统“数据之眼”的设计--数据探查服务

文章目录前言数据探查服务的初始点:元数据的同步数据探查服务的分析:索引结构的重新构建数据探查服务的结果:汇聚表DB的存储数据探查服务的额外功能:节点级别的统计数据探查服务的外部展现:用户控制台引用前言在大规模量级的分布式存储系统中,很多时候管理员以及用户都有特定条件的查询需求:比如用户哪个目录文件数据量是最多的?还有对于管理员的需求:哪个节点上存储的文件数量最多,又或者是否存在损坏数据块文件...

2019-03-24 22:13:43

聊聊Flame Graph(火焰图)的那些事

文章目录前言前言当我们很多时候在分析定位一个比较隐秘的问题时,我们马上能脱口而出好几种方法,查日志找异常,再细致一点的,jmap,jstack分析stacktrace。但是一般如果到了分析stacktrance的阶段时,说明这个很可能已经是performance的问题了。但其实很多时候,jstack这种默认的命令工具对于开发者来说还不够直观与好理解。...

2019-03-17 16:58:08

Dynamometer:HDFS性能扩展测试工具

文章目录前言前言现在稍微具有一定规模的涉及到大数据存储的公司,或多或少都会使用到HDFS作为其数据的存储系统。在不同的公司企业内,不同的应用需求对应会构建出不同级别规模的集群,小则几十台,大则成千上万个节点。当然很多时候,我们的集群规模一般不是一蹴而就就达到一个相当大的规模,在前期的时候往往都是由小集群开始的。随后,再不断不断地进行扩容,扩张。随着集群规模的扩展,运维人员会碰到各种针对那时规...

2019-03-13 23:11:53

论分布式系统中单一锁控制的优化

文章目录前言单一锁控制的弊端单一锁的优化:锁粒度的细化锁的管理锁的容量控制锁的资源优先级问题锁管理的demo样例前言在分布式系统中,为了保持数据操作的一致性,我们会看到锁在里面会有广泛的应用。简单一点的,我们可能就用一个简单的对象锁来做线程安全的同步。再细粒度一些的,我们会用到读写锁,然后对具体操作的属性(ReadOrWrite)在进行读写锁的分离控制。但今天笔者想对此话题再展开细致的探...

2019-03-09 16:28:19

聊聊磁盘数据的损坏

文章目录前言数据的损坏的起因前言在数据存储领域,对于管理员以及用户来说,最怕的无非就一个事情:数据损坏了(这里我们暂不考虑数据被恶意篡改写入的情况)。可能很多人也会假设正常情况下,数据自己损坏的概率应该可以低到忽略不计吧…今天笔者来简单聊聊这个被很少提及的话题,以及相关针对数据损坏,我们现有的一些修复手段和策略。数据的损坏的起因当磁盘中存储的数据有一天突然坏了,我们大部分时刻第一时间联...

2019-03-06 22:33:15
CSDN身份
  • 博客专家
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。