自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 那点总结

一直想为上次的事情总结点什么,一直觉得自己有很多的经验教训是可以总结的,但是总是替自己找借口,今天晚上终于下定决心写几条:1、  找合伙人很难,要找对的合伙人就难上加难,即时是的你的同学,朋友,即时看上去他的加入让团队看上去是多么地完美,记住也得磨合观察,而不要立即就认为是合适的。因为也可能是最不合适的。2、  除非自己很知根知底的人,记住,钱不要随便借,小心借出去容易,要回来连请黑社会收

2015-06-25 23:12:54 853

原创 读李彦宏《硅谷商战》有感

1、技术领先不能保证就是赢家;2、当人们还没明白一个搜索按钮嵌入浏览器的价值的时候,yahoo已经向网景许诺优厚条件,让其在浏览器内嵌入yahoo的搜索按钮。3、目前国内几个大型互联网公司(百度,腾讯,360等)打架打得不可开交,其实早在90年代,美国大型it公司早已玩透了这样的游戏,微软与太阳,网景,美国在线等火拼得厉害;4、美国在线在技术行业可能不是领先者,但是在90年代就已经在赚

2013-12-21 23:15:55 3563

原创 我眼中的hadoop(5-7)

术业有专攻5.1.HDFS成也大文件 Hadoop主要处理的是大文件,从而HDFS设计的初衷也是存储大文件,及其计算过程中产生的中间文件,以满足mapreduce快速地读写文件的要求,当然前提是机房网络速度给力。为了满足需求,HDFS进行了如下设计:1.流式写文件,对于上传任何一个文件,Client向一台DN写数据块,再由DN向其他DN写数据块,而不是一个客户端

2013-11-25 15:51:34 2103

原创 我眼中的hadoop(1-4)

前言     1-3写到了hadoop的诞生,通过何种方式发展壮大,及其为什么没有被其他系统取代,之所以写这部分想梳理一下hadoop为什么不是别人而是由DC来完成,同时DC通过何种方式将自己的产品发展壮大,最后变得不可取代;     4写到了hadoop在国内的发展;5-6写到为什么没有一个可以解决所有问题的存储系统,及其HDFS的优点缺点,希望通过这部分梳理清楚在任何行业都没有

2013-11-25 15:47:31 1420

原创 Hadoop2.x:HDFS存储小文件问题及其解决方法

HDFS设计的初衷是存储大文件,如果单个DataNode有12块2T的硬盘,则有存储空间24T,如果每个块100M,则可存储251658,如果每个块50M,则可存储503316.DataNode会向NameNode进行两种类型的块报告:增量报告与全量报告,DataNode接收到块,或者删除块会立即向NM报告,这属于增量报告;全量报告周期性发生,定时将当前DN上所有数据块信息报告给NM.NM处理

2013-11-14 15:04:12 4876 1

原创 分布式存储系统(GlusterFS,Swift,Cassandra)设计对比

几年下来,前前后后接触过几个存储系统了,感觉接触多了,发现不同系统在设计的时候大都采用相似的理论,因此就梳理下。  GlusterFSSwiftCassandra路由算法普通哈希算法一致性哈希算法一致性哈希算法数据恢复方式选举算法,选出一个源节点

2013-10-17 13:13:10 7202 3

原创 hadoop2之HDFS分析:Client与DataNode流程分析

Client与DataNode流程分析1.写文件流程 1)  Client执行create方法,调用NameNode的create方法,同时在Client端启动datastream线程;2)  Client调用write方法,write不断地写入字节,写入字节的时候,以chunk大小作为生成校验和的单位;当写的字节数量达到一个包大小,就将这些字节封装成一个包,并加入dataqu

2013-07-28 09:53:16 2334

原创 linux操作系统缓存(cache)效果测试

测试文件大小:4.5GB;第一次将该文件传输到另外一台机器:Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %utilsda               0.00     0.00    0.01    0.00     0

2013-05-21 18:22:40 1736

原创 数组,transferFrom,ByteBuffer数据传输对比

package cache;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;imp

2013-05-21 10:46:53 1382

原创 HDFS之Bookkeeper工作原理分析

1.前言1.1背景    自从hadoop2版本开始,社区引入了NameNode高可用方案。NameNode主从节点间需要同步操作日志来达到主从节点元数据一致。最初业界均通过NFS来实现日志同步,大家之所以选择NFS,一方面因为可以很方便地实现数据共享,另外一方面因为NFS已经发展20多年,已经相对稳定成熟。虽然如此,NFS也有缺点不能满足HDFS的在线存储业务:网络单点及其存储节点单

2013-05-18 22:43:43 6253

原创 HDFS之Qurom Journal Manager(QJM)实现机制分析

1.前言1.1背景    自从hadoop2版本开始,社区引入了NameNode高可用方案。NameNode主从节点间需要同步操作日志来达到主从节点元数据一致。最初业界均通过NFS来实现日志同步,大家之所以选择NFS,一方面因为可以很方便地实现数据共享,另外一方面因为NFS已经发展20多年,已经相对稳定成熟。虽然如此,NFS也有缺点不能满足HDFS的在线存储业务:网络单点及其存储节点单

2013-05-03 17:47:54 2596 1

原创 HDFS2.X:系统时间戳机制在块报告中的应用

在数据块报告过程中,如果遇到报告的块的时间戳大于从节点NameNode的时间戳,会将这样的数据块放入一个消息队列,等从节点消化到相关的块信息,再从消息队列中取出数据块,建立块信息与副本的映射关系。这样,报告的块是放入消息队列呢还是直接建立映射,就取决于时间戳的判断了。这个机制具体是如何实现的呢?下面通过一个示意图来说明。由上图,该机制分为如下步骤:1.  主节点NameNode

2013-01-13 23:37:42 1021

原创 HDFS应用场景分析

原文来自云台博客:http://yuntai.1kapp.com/?p=954        虽然说之前也对HDFS的应用场景有个大致的认识,但是总感觉不是十分彻底,因此前几天花了点时间进行了整理,现在把它贴出来。     1.概况1) HDFS不适合大量小文件的存储,因NameNode将文件系统的元数据存放在内存中,因此存储的文件数目受限于NameNode的内存大小。HDFS

2013-01-03 23:03:16 12905

原创 HDFS2.X源码分析之:NameNode写文件原理

原文出自云台博客:http://yuntai.1kapp.com/?p=950      HDFS被设计成写一次,读多次的应用场景,这应该跟它的MapReduce机制是紧密关联的,通过对线上的读写比例监控,大概读写比是10:1,也验证了它设计的目标。 GFS论文提到的写入文件简单流程:HDFS详细流程:写入文件的过程比读取较为复杂:1、 使用HDFS提供

2013-01-03 22:33:37 2534

原创 HDFS2.X源码分析之:NameNode读文件原理

原文出自云台博客:http://yuntai.1kapp.com/?p=952HDFS被设计成写一次,读多次的应用场景,这应该跟它的MapReduce机制是紧密关联的,通过对线上的读写比例监控,大概读写比是10:1,也验证了它设计的目标。3.1 读流程分析GFS论文提到的文件读取简单流程:在HDFS中,具体流程如下图:从上图,可以看出读取文件需要如下几个

2013-01-03 22:21:04 1624

原创 HDFS2.X源码分析之:NameNode块报告处理

原文出自云台博客:http://yuntai.1kapp.com/?p=941      NameNode会接收两种情况的块报告,DataNode全部块报告与增量块报告。4.1全量报告分析       目前全量报告以周期性进行报告,既然已经有启动时候的全量数据块报告,错误块报告,增量块报告(包括删除块报告),为什么还需要周期性全量块报告呢?比如某DataNode接受到数据块但是增量报告

2013-01-03 11:17:13 2635

原创 HDFS2.X源码分析之:NameNode对几种块的处理方式

原文出自云台博客:http://yuntai.1kapp.com/?p=935       在NameNode接受数据块报告的过程中,会检查块的副本中是否有无效块,坏块,无效块,和块的副本数不够问题,由于这部分涉及到NameNode对块管理的核心机制,在这里独立出来进行分析。无效块:如果DN报告上来了块信息,但是该块副本信息在NN端找不到,认为该块为无效,加入无效集合invalid

2013-01-03 10:57:14 968

原创 hadoop2.X之HDFS集群管理:ReplicationMonitor

原文出自云台博客:http://yuntai.1kapp.com/?p=930      ReplicationMonitor在HDFS中的工作相当重要,首先不仅会负责为副本不足的数据块选择source 数据节点,选择冗余的target节点,等待DN节点下次心跳将这些工作带回给相应的DN执行块冗余操作,同时也会将各个数据节点上无效的数据块副本加入无效集合,等待下次心跳将这些工作带回给相应的

2013-01-03 10:45:57 2238 2

原创 HDFS:不同版本评比分析

1、版本功能对比版本名称版本时间功能名称说明0.20.x2009.4.22-2011.10.17目前线上基本功能Avatarnode,cloudera3均以该版本作为基础版本0.23.x2011/11/11-现在FederationWebH

2012-12-22 10:08:04 2443

原创 GlusterFS :Addbrick工作流程分析

1、工作流程分析步骤说明:1、  Cli接收到用户的输入后,对命令进行解析,判断命令是否合法(命令格式,字符拼写等检查),然后RPC调用本机的glusterd程序的远程函数,glusterd程序开始解析addbrick的命令行,判断里面的hostname所对应机器是否存在;peer内的uuid是否存在;brick所对应的路径是否存在;检查所对应的brick是否已经存在,日志片段

2012-12-22 10:01:52 2772 2

原创 GlusterFS:分布式(Distribute )源码分析

1.概述在glusterfs中,文件的定位采用弹性hash算法进行定位。集群中的任何服务器和客户端只需根据路径和文件名就可以对数据进行定位和读写访问。换句话说,GlusterFS不需要将元数据与数据进行分离,因为文件定位可独立并行化进行。GlusterFS中数据访问流程如下:1)计算hash值,输入参数为文件路径和文件名;2)根据hash值在集群中选择子卷(存储服务器),进行文件定

2012-10-27 12:39:27 9216 10

原创 HDFS 单点改造方案对比

HDFS 单点改造方案对比1背景目前,HDFS集群的架构包括了单个Name Node和若干个DataNode。Name Node负责两方面的事情:一方面是存储和管理整个命名空间,包括创建、修改、删除和列举文件目录等文件系统级别的操作;另一方面是管理Data Node和文件块。Data Node主要负责文件块的持久化存储和远程访问。1.1命名空间管理HDFS的命名空间包含目录

2012-08-09 23:04:20 2730 1

原创 Eucalyptus和OpenStack对比分析报告

Eucalyptus和OpenStack对比分析报告一.授权、许可证、商业模式比较名称授权协议许可证管理商业模式Eucalyptus社区版采用GPLv3;企业版使用自定义的商业授权协议。社区版不需要安装许可证;企业版需要在云控制器(CLC)节点上安装许可证。社区版免费使用;企

2012-02-16 20:00:49 3546

原创 glusterfs操作指南

nfs协议:1、在客户端安装nfs相关软件包:yum install nfs*;2、客户端启动服务:service rpcbind start;service nfslock start3、mkdir -p /mnt/v24、挂载:mount -o mountproto=tcp -t nfs 10.28.1.96:/v2 /mnt/v2iptables规则i

2012-02-16 19:32:10 7886

原创 我的2016总结

工作方面,毫无疑问,今年是我毕业工作6年以来成长最大的一年。今年4月,京东到家与达达合并后,我顺其自然进入新达达公司工作,接下来的8个月左右,我的工作可以用逃避、痛苦、彷徨、奋进、主动几个关键字概括。公司合并前,我参与的业务各方面工作均有相关负责人跟进,业务运营负责人负责运营,及产品规划,业务指标主要由运营负责人制定和承担,产品经理跟进产品需求并将业务需求转化成系统需求,我主要负责系统设计

2016-12-31 22:06:07 851

转载 数据库索引的实现原理

强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向

2014-01-09 18:39:52 1115

转载 磁盘调度算法

先来先服务算法(FCFS),最短寻道时间优先算法(SSTF),扫描算法(SCAN),循环扫描算法(CSCAN)1、先来先服务算法(FCFS)这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算

2014-01-09 18:37:48 1304

原创 HDFS块分配策略

HDFS块分配策略块分配策略流程图注:上图提到的远程机架与本地机架是相对于找到的第一个副本的目标节点来说。一个客户端a机器发起请求分配块请求,NN接收到请求后,执行如下块分配流程:1)   如果a不是一个DataNode,则在集群范围内随机选择一个节点作为目标节点,否则执行下面的2,3步骤;2)  判断a机器是否符合存储数据块的目标节点,如果符合,第一个块副本分

2013-10-22 16:09:30 3770

原创 hadoop之HDFS:数据块恢复与文件上传测试

1.数据块恢复当某台机器上的一个DataNode进程down掉,HDFS为了保证文件的副本满足设定的副本数,会进行数据块的恢复操作。块恢复操作主要受两个参数影响:a)dfs.namenode.replication.work.multiplier.per.iteration  NameNode计算集群每个周期每个DataNode平均恢复的数据块数量;如果该参数配置得太小,则dfs.name

2013-10-21 17:53:28 3451

转载 JVM(Java虚拟机)优化大全和案例实战

堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation

2013-08-21 17:39:04 1182

转载 ZooKeeper典型应用场景

ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性

2013-08-04 18:49:41 1301 3

转载 GFS, HDFS, Blob File System架构对比

分布式文件系统很多,包括GFS,HDFS,淘宝开源的TFS,Tencent用于相册存储的TFS (Tencent FS,为了便于区别,后续称为QFS),以及Facebook Haystack。其中,TFS,QFS以及Haystack需要解决的问题以及架构都很类似,这三个文件系统称为Blob FS (Blob File System)。本文从分布式架构的角度对三种典型的文件系统进行对比。

2013-02-03 02:33:01 2377 2

转载 Facebook Haystack图片存储架构

OSDI 10中有一篇Facebook图片存储系统Haystack的论文,名称为”Finding a needle in Haystack: Facebook’s photo storage”。从这篇论文可以看出,数据量大的应用有时也并不复杂。我们先给Facebook图片存储系统算一笔账。Facebook目前存储了260 billion图片,总大小为20PB,通过计算可以得出每张图片的平均

2013-02-03 02:30:53 2267

转载 Facebook的图片存储

为了减少对昂贵的存储解决方案(诸如NetApp和Akamai,我所在的单位用了一套NetApp,性能和稳定性都不错,价格当然也不菲),Facebook在2009年4月的时候推出了一套新的,名为Haystack的图片存储系统,来一个对每个月85亿次的图片上传(每天500G)。Jason Sobel,NetApp的前工程师主持了这次改造,基本的架构来自于2008年的 Stanford AC

2013-02-03 01:49:44 2596

转载 Facebook图片存储架构的学习

分享照片是Facebook上最流行的的功能之一。截至目前,用户已经上传超过15亿张照片,这使得Facebook成为最大的照片共享网站。对于每一个上传的照片,Facebook都生成并存储四个大小不同的图像,从而转化为共60亿张照片,总容量超过1.5PB。目前以每周220万新照片的速度增长,相当于每周要额外增加25TB存储。在高峰期每秒需要传输55万照片。这些数字对Facebook的照片存储基础设施的

2013-02-03 01:04:15 919

原创 HDFS2.X源码分析之:NameNode启动流程分析

目前,NameNode有多种启动:HA方式的从节点,非HA方式的主节点,BackUp(checkpoint)节点switch (startOpt) {//文件系统格式化 case FORMAT: { boolean aborted = format(conf, startOpt.getForceFormat(), startOpt.ge

2013-01-03 22:42:56 1609

原创 hadoop2.0之HDFS集群管理:HeartbeatManager及其报告周期问题

心跳管理器主要用于管理DataNode的心跳,如果某DataNode在一段时间内(10分30秒)停止与NameNode发生心跳,则会将该DataNode直接标记为死亡节点,而不是先退役,因为可能该DN真的已经死亡了,而不用经历退役阶段。为了不引起一连串的DataNode被标记为死亡,每次只允许一个DataNode节点被声明为死亡,并从DatanodeManager,heartbeatManager

2013-01-03 11:09:47 1101

原创 hadoop2.0之HDFS集群管理:PendingReplicationMonitor

如果一个数据块需要冗余,会将其加入pendingReplications集合,如果块副本冗余完毕到某DataNode节点,该DN节点会报告给NameNode,然后NameNode从pendingReplications将块删除,如果一致没报告上来,会在一定时间范围内存储在pendingReplications内。pendingReplications为MapPendingBlockInfo>类型集

2013-01-03 11:04:34 1191

转载 京东自主研发Hadoop高可用解决方案

原文地址:http://net.chinabyte.com/110/12476610.shtml 记者近日获悉,京东商城在Hadoop高可用方面的研究,取得了重大成果。在Hadoop集群运维方面,一直以来都有这样一个难题困扰着业界:线上集群,由于NameNode的异常,极有可能导致Hadoop集群服务中断;NameNode软硬件系统定期维护、升级也一直是让人头疼的问题——整个集群可

2012-11-27 14:31:20 1389 3

转载 Hadoop 分布系统的高可靠选择

最近美国东海岸飓风灾难,引发了关于灾难恢复的讨论。让我们看看Hadoop所提供的各种高可靠性选项。为了理解HA的存在的问题,首先让我们看看Cloudera关于Apache Hadoop 高可靠性的话,这样对于“以前在HDFS集群里,NameNode是一个单点故障(SPOF)。每一个集群都有一个NameNode,如果这台机器或者进程不可用的话,整个集群系统都不可用。故障的恢复仰仗于NameN

2012-11-20 11:20:11 893

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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