走在前往架构师的路上

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

HDFS精华文章汇总

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

2017-12-03 11:45:14

阅读数:2211

评论数:2

聊聊HDFS的权限访问控制

文章目录前言典型场景:权限信息不一致情况 前言 我们都知道HDFS文件系统的访问控制由其内部目录,文件的权限所控制,和Linux文件系统一致。但是当出现HDFS和别的组件进行关联使用时,我们是否还能做到预期的控制效果呢?比如Hive和HDFS的使用,Hive也有它自己独立一套的用户权限体系...

2019-01-01 17:52:21

阅读数:239

评论数:0

聊聊Hadoop安全认证体系:Delegation Token和Block Access Token

前言 本文继续上一篇Hadoop安全认证方面的内容主题,来简单聊聊Hadoop内部的其它认证体系:Delegation Token(授权令牌认证)和Block Access Token(块访问认证)。主要来聊聊这两者间的差异,顺带也会提及一些Kerberos认证的一点内容。这里不深挖其中的技...

2018-11-29 23:15:59

阅读数:828

评论数:0

Hadoop Rolling Upgrade经验总结

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

2018-10-28 11:48:00

阅读数:145

评论数:0

HDFS支持外部存储

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

2018-10-03 22:44:09

阅读数:169

评论数:0

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

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

2018-06-17 15:34:48

阅读数:509

评论数:0

HDFS SBN实现与ANN的一致性读

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

2018-05-30 11:31:30

阅读数:538

评论数:2

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

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

2018-05-25 16:27:10

阅读数:835

评论数:0

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

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

2018-05-05 21:57:09

阅读数:441

评论数:0

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

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

2018-04-14 11:40:44

阅读数:787

评论数:0

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

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

2018-03-18 15:31:03

阅读数:389

评论数:0

HDFS QJM原理分析

前言 最近在重新研读HDFS QJM的细节实现,所谓“温故而知新”,感觉还是收获不少。之前笔者曾简单地翻译过HDFS QJM的设计文档,感兴趣的同学可以点此链接:HDFS QJM的架构设计。本文笔者打算挑选其中的一些细节要点,进程阐述。 背景 在HDFS QJM出现之前,edit...

2018-02-19 21:04:17

阅读数:765

评论数:0

HDFS未来底层存储架构的演变趋势

前言 经常关注笔者博客的朋友们,一定看过笔者之前写过的关于HDFS对象存储(Ozone)系列的文章,并且笔者曾经预言这个功能很快将要发布在最新的Hadoop社区版本中。但是在合并此功能分支代码时,社区内部展开了很多讨论:包括内部全新的存储结构设计,以及新结构会对现有HDFS结构造成何种影响。...

2018-02-11 11:39:02

阅读数:607

评论数:0

聊聊HDFS RBF第二阶段的主要改进

前言 HDFS RBF特性(基于路由的Federation解决方案)已经在Apache Hadoop 3.0.0中正式发布了,此特性的发布将会大大方便于广大用户多于多集群的使用。另一方面来说,面对往后日益扩展,日益多样化的环境,单一,同构化的集群运行模式,不会是一个一劳永逸的方式了,异构,多...

2018-02-03 21:37:03

阅读数:429

评论数:0

HDFS基于路由的Federation方案

前言最近几天,Hadoop官方社区发布了2.9.0版本,这也是第一个2.9开头的小版本。相比较于之前的2.8版本,2.9版本中新增了不少新功能特性。其中关于HDFS模块的一个重要功能是HDFS Router Federation(基于路由的Federation)。有人可能好奇,这个功能与目前HDF...

2017-11-19 16:50:44

阅读数:1483

评论数:0

聊聊HDFS和Ozone的融合

前言Ozone的出现的初衷就是要解决HDFS namespace的扩展性问题,那么现在问题了,未来如何将这两大从设计上上来已经完全大改变的系统整合起来呢?这个听起来非常有意思,本文笔者结合最近社区的一些讨论,来简单聊聊这个话题。Ozone的核心结构社区在设计Ozone的时候,提出了一个具有关键性意...

2017-11-05 17:56:43

阅读数:865

评论数:0

HDFS数据不均衡解决方案:基于剩余空间大小的均衡策略

前言相信对于广大的Hadoop集群的使用者和维护者,集群在长时间的使用过程中,肯定或多或少碰到节点间数据不均衡的现象。比如有些节点可能磁盘使用率已经达到90%,而有些节点可能就10%。当然我们说,在使用百分比明细不均衡的情况下,我们可以用HDFS提供的Balancer工具帮我们解决这个问题。但是这...

2017-10-22 11:27:57

阅读数:1244

评论数:1

HDFS Ozone整体概述

前言 HDFS Ozone对象存储最近会有一个大动作:merge到主代码分支。这就动作具有十分大的意义,因为它意味着Ozone将在下一个最近发布的hadoop版本中出现并可以被广大用户所使用。所以在这个背景下,Ozone第一版本的代码和结构基本已经确定完毕,这个时候,我们再从大的层面来学习、...

2017-10-07 10:44:13

阅读数:1084

评论数:0

HDFS Ozone的Pipeline实现机制

前言 在现有HDFS中,每个副本块默认有3个副本,我们都知道这是为了容错而设计的。为了保持这3个副本的数据一致性,HDFS每次对数据进行写操作的时候,都是以Pipeline的方式进行更新。你可以理解为是一种流水线的方式:R1–>R2–>R3。中间如有一个环节出现问题,那么这次Pi...

2017-09-17 15:44:40

阅读数:591

评论数:0

HDFS对象存储:Ozone的块异步删除服务

前言在HDFS的世界中,所有涉及元数据相关的操作都是在NameNode内完成的,真实进行文件读写和删除操作是在DataNode节点上完成的,完成好之后,再通过心跳的方式将结果汇报给NameNode。这种处理方式要比完全同步的方式好很多,尤其高吞吐数据量规模的情况下时,走同步的方式会很快遇到瓶颈的。...

2017-08-27 16:21:46

阅读数:767

评论数:0

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