自定义博客皮肤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)
  • 收藏
  • 关注

转载 跟facebook工程师交流HDFS笔记整理

首先声明,下面文章为转载文章,感谢兄弟的无私分享,我个人觉得写得很不错,而且借鉴的地方很多,就贴到自己的博客上来了,再次感谢!!原文地址:http://luoli523.com/blog/2012/11/03/gen-facebookgong-cheng-shi-jiao-liu-hdfsbi-ji-zheng-li/hadoop在纽约的大会今年是10月22日~10月25日召开的。被公

2012-11-19 23:50:58 799

转载 hadoop HA----Quorum Journal 设计

本文是hadoop HA 方案Quorum Journal设计的翻译。原文参考这个链接中的附件:https://issues.apache.org/jira/browse/HDFS-30771 概述1.1 背景  HDFS-1623和相关的JIRAs加入了对HDFS NameNode高可用性的支持,但是依赖一个共享存储目录,在里面存储共享的edit log。这个共享存储必须

2012-11-19 23:39:42 1242

转载 High Availability options with Hadoop distributions

With disaster recovery the talk of the town after recent storm on US east coast,let’s take a look at what options are available for High Availabilitywith various distributions of Hadoop.Le

2012-11-09 12:44:54 993

转载 HDFS NameNode HA框架设计文档(HDFS-1623:High Availability Framework for HDFS NN)

原文请参https://issues.apache.org/jira/browse/HDFS-1623译文如下:1     Problem Statement有很多方式可以使得NN更加的Available,例如:减少启动时间,配置热刷选,减少升级时间,NN的手动或自动的Failover。本文档通过Failover来解决NN的SPOF问题有很多种方式可以提供NN的

2012-11-09 09:52:58 772

转载 HADOOP:MapReduce作业运行机制

一,作业的提交Job.waitForCompletion(true): 1)此方法调用submit(). 在Submit()方法里面连接JobTracker,即生成一个内部JobSummitter(实际上是new JobClient(),同时生成一个JobSubmissionProtocol接口(JobTracker实现了此接口)对象jobSubmitClient(是它连接或对应着

2012-11-04 22:29:00 922

转载 Hadoop学习总结之四:Map-Reduce的过程解析

一、客户端Map-Reduce的过程首先是由客户端提交一个任务开始的。提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的:public static RunningJob runJob(JobConf job) throws IOException {  //首先生成一个JobClient对象  JobClient jc

2012-11-04 15:38:00 600

转载 HADOOP:MapReduce源码分析总结

参考: 1 caibinbupt的源代码分析http://caibinbupt.javaeye.com2 coderplay的avaeye http://coderplay.javaeye.com/blog/295097http://coderplay.javaeye.com/blog/318602 3 Javen-Studio 咖啡小屋http://www.cppblog

2012-11-04 14:44:23 869

转载 MapReduce源码分析总结

Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large data sets)的相关的实现。用户定义

2012-11-04 14:42:28 711

原创 OpenStack:Nova基本功能介绍

Nova基本功能介绍一 初识Openstack1.1 openstack是什么    Openstack是一个跟Eucalyptus,AWS(Amazon web Services)类似的IaaS框架,目前它包括三个主要的项目:Nova,Swift,Glance。下面分别对3个项目做简单介绍:    Nova:提供虚拟服务器后的需求、主要是为虚拟服务器提供自动创建和管理,负责管理所

2012-10-29 23:46:31 14181 1

原创 Glusterfs之小文件优化

小文件优化主要是通过优化文件操作的过程和iocache来达到优化的目的。一、小文件速度比较快的存储系统的特点(fastdfs,mogilefs(主要适合小文件),swift(小于50KB速度很快)):1)通过定位器直接可以定位文件存储的节点,而不用遍历所有节点;2)文件路径长度一定,不会造成路径深度不一致,不会造成查询时间不一致;3)要读取一个文件一般分为2个步骤:4)hash

2012-10-29 23:32:02 5460

原创 NFS之:NFS安装配置及其参数说明资源集锦

1、安装配置NFS4链接:http://www.vpsee.com/2010/06/install-nfs-4-0-on-centos/;2、一篇介绍NFS基础知识的文章:http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-nfs.html3、NFS挂载参数:http://www.freeb

2012-10-29 23:11:15 803

原创 HDFS热备方案:Standby源码分析

doCheckpoint分析1、通过namenode协议rollEditLog(滚动日志,日志流量切换到edits.new,并且会记录fstime);2、调用ingest类,消化所有日志到从节点内存;3、从节点调用rollEditLog滚动日志;4、保存命名空间到磁盘上(本地+nfs)saveNamespace;5、putFSImage操作到主节点(primary本地+nfs)

2012-10-29 23:07:44 827

原创 Amazon S3功能分析

对外提供功能:1、基本功能:1)能够读,写,删除1B-5TB大小的数据,单次请求可以删除1000个对象;2)对开发者提供REST,SOAP协议;下载默认协议为http,如果使用 BitTorrent ,费用更低;2、桶:1)一次可以创建100一个桶;2)桶有一定的命名规则;3)支持的操作:创建,删除,元数据,list;4)list操作:一次list的

2012-10-29 23:03:30 2033

原创 OpenStack之Swift:swift表结构

表account_stat ID名称类型/长度缺省值备注account TEXT  created_at TEXT  put_timestamp

2012-10-28 16:38:37 1090

原创 OpenStack之Swift:环(Ring)工具解析

Builder工具为ring管理工具,今天主要解析其常用的几个操作(以account为例):swift-ring-builderaccount.builder create 18 3 1swift-ring-builderaccount.builder add z1-127.0.0.1:6012/sdb1 1swift-ring-builderaccount.builderswif

2012-10-28 16:34:07 5023 3

原创 OpenStack之Swift:环(Ring)源码分析

4.1.结构介绍环部分主要为2个部分,分别文件如下:ring.py:负责维护accont,container,object相应环的信息,包括区域,设备,分区等等;builder.py:ring管理工具,环中的信息由其负责维护,管理。4.2.几个概念说明区域:逻辑上的划分,可以是一个设备,一台主机,或者一个数据中心等等;设备:物理机的存储设备,分区会通过build

2012-10-28 16:25:20 2085

原创 OpenStack之Swift:容器服务器(Container Server)源码分析

2.1.Xattr介绍官方描述:Extended attributes extend the basic attributesof files and directories in the file system. They are stored as name:data pairsassociated with file system objects (files, directorie

2012-10-28 16:20:11 4558 3

原创 OpenStack之Swift:账户服务器(Account Server)源码分析

关于副本的问题:在swift中,副本涉及到冗余的处理。副本数量的多少,就代表了在swift系统中,该对象被存储了几份,下面以操作说明:1.1以账户服务器为例首先我们可以通过命令swift-ring-builderaccount.builder查看账户服务副本数目:结果为3个副本,然后我们确认是否账户数据库为三分,以数据库11ae9132c974c131329d4e054

2012-10-28 10:52:14 3618 2

原创 GlusterFS:异地备份(Geo-replication)源码分析

1.概述GlusterfsGeo-replication提供了一种持续,异步,增量数据备份策略,可以通过局域网,广域网,英特网来进行。使用Geo-replication,我们能够在存储环境建立数据冗余,提供数据的灾难恢复功能。Geo-replication使用master-slave模式:1、Master- 代表一个卷;2、Slave-可能是一个卷或者一个文件夹; 局域网异地迁

2012-10-27 12:58:04 5385 1

原创 GlusterFS:调度(Scheduler)算法源码分析

1.概述在操作系统中调度算法是指根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法。在glusterfs中,调度算法用于调度哪一个存储节点来存储数据。大致表示如下:调度算法示意图  目前在3.2.5中,实现了5种调度算法,分别是alu,random,nufa,rr,switch。在每个算法中,他们均会实现这样几个操作:1.

2012-10-27 12:54:16 1549 1

原创 GlusterFS:统一命名空间(Unify)源码分析

1.概述This xlator is one of the main translator in GlusterFS, whichactually does the clustering work of the file system. One need to  understand that, unify assumes file to be existing in

2012-10-27 12:53:25 2557 8

原创 GlusteFS:自我修复(Selfheal)源码分析

1.概述Glusterfs自我修复是基于事件触发模式,修复的项主要包括文件内容(data),元数据(metadata),项(entry)等。修复分为2种类型,文件内容的整个修复(full),和差异化修复(diff),文件修复时候,并不会整个文件copy,而是以块单位进行copy。具体修复流程大致为从一个数据完整的节点,将文件读取到客户端,然后再将文件写到数据不完整的节点。数据修复示意图

2012-10-27 12:52:14 4463 2

原创 Glusterfs:冗余(Replication)源码分析

1.概述.冗余技术(redundancy)是分布式存储系统的一个重要技术手段。最简单、最传统的冗余存储技术是副本技术(replication):通过拷贝多个原始数据,并将它们分别存储在不同节点上,从而增加数据可靠性。Gluster文件系统通过多分冗余来保持其系统文件的高可用性。 Glusterfs冗余示意图 副本技术存在显著缺点是存储开销巨大——为应对部分数据丢失的风险而需

2012-10-27 12:24:52 4377

原创 GlusterFS:条带(Stripe)实现源码研究

1.概要1..RAID技术概念RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAIDLevels)。RA

2012-10-27 12:18:31 4334 7

原创 GlusterFS:虚拟文件系统(VFS)介绍

1.概述Linux虚拟文件系统是一个内核软件层,用来处理与UNIX标准文件系统相关的所有系统调用。其健壮性表现在能为各种文件系统提供一个通用的接口。Linux虚拟文件系统支持的文件系统可以划分为三种主要的类型:1.磁盘文件系统这些文件系统管理在本地磁盘分区中可用的磁盘空间或者其他可以起到磁盘作用的设备(比如说一个USB闪存)。2.网络文件系统如nfs,这些文件系统允许访问属

2012-10-27 12:05:24 2712

原创 GlusterFS:xlator基础源码研究

1.xlator树加载过程对于glusterfs,在客户端,有一个由xlator组成的树,在树中,xlator层层调用,在当服务器端挂载到客户端后,gluster会将树解析为一张图中,在此我们从图中xlator的初始化过程开始讲解。客户端卷部分配置文件截图在glusterfs中,当挂载到客户端时,客户端会将卷配置文件解析成graph,然后会发起对graph中每个节点的参数合法性

2012-10-27 12:00:51 5595

原创 AvatarNode命令集锦

1、主从切换等操作:./hadoop org.apache.hadoop.hdfs.AvatarShell[-{zero|one} -showAvatar] [-service serviceName]           [-{zero|one} -setAvatar {primary|standby}] [-service serviceName]           [-

2012-08-09 23:12:28 740

原创 glusterfs之iocache 操作解析

io-cache:描述:IO缓存中继(performance/io-threads)属于性能调整中继的一种,作用是缓存住已经被读过的数据,以提高IO性能。 IO缓存中继可以缓存住已经被读过的数据。这个对于多个应用对同一个数据多次访问,并且如果读的操作远远大于写的操作的话是很有用的(比如,IO缓存很适合用于提供web服务的环境,大量的客户端只会进行简单的读取文件的操作,只有很少一部分会去写文件)

2012-04-05 23:22:23 2893 1

原创 glusterfs分布式,冗余卷读写操作过程

现将前段时间分析的glusterfs分布式,冗余部分的部分操作执行过程粘贴出来,供互相学习,欢迎互相探讨:1、冗余卷创建文件     1)对每个子卷加非阻塞项锁,加锁成功的子卷数等于up子卷,才算加锁成功,否则会解除之前加成功的锁;     2)如果非阻塞锁失败了,会调用阻塞锁进行加锁;     3)在所有的up子卷上创建文件,中间可能有创建失败的,所有创建操作完成后将信息返回给父

2012-04-05 23:10:21 2959

原创 底层文件系统性能对比

最近在调研底层文件系统,现将测试结果发布出来,希望对正在进行这方便的工作的同学能有帮助:操作大小数量EXT3EXT4XFSReiserfs创建文件夹 1000014.794440984714.805275917115

2012-04-05 23:06:08 1484

原创 云存储产品发展路线

1)路线:私有云(自己用)-------> 混合云(+合作商家) ---------->公有云(普通用户、企业)2)存储项目要降低硬件投入成本,单位存储容量要跟业界对比,自行研发投入成本要低于业界常平均标准3)上传文件 scan 查毒,synmantec;4)上传文件的合法性,对黄色文件等的审查,尤其是分享、外链(一些云存储公司内部会安排专人负责人工审查,可借鉴)5)文件双击就能打

2012-02-21 11:27:06 807

原创 mogilefs安装配置指南

检查某个模块是否在默认路径下:perl -e 'use SOAP::Lite;'mogdbsetup --dbhost=localhost --dbname=mogilefs  --dbuser=mogile --dbpass=mogile_db_password --dbrootpass=cd360buy--dbhost=localhost --dbname=mogilefs  --

2012-02-16 20:06:17 1566

原创 RabbitMQ入门

一.RabbitMQ简介        RabbitMQ是一个消息中间件。原理是简单的,就是负责消息(二进制块数据)的接收,存储和发送。RabbitMQ的工作流程大致如下图:工作流程大致如下:左边的Client向右边的Client发送消息,流程:1,  获取Conection2,  获取Channel3,  定义Exchange,Queue4,  使用一个Rou

2012-02-16 19:43:10 1993 1

原创 OpenStack之Swift总结

1.Swift概述1.1 Swift在整个openstack项目中所处的位置Swift属于openstack项目里面的一个负责数据对象存储的一个项目,由Rackspace公司开发。它在整个openstack项目中所处的位置如下: 通过上图可以看出,openstack 通过计算项目,然后通过镜像服务找到存储的数据。1.2    Swift项目的内部概述在Swift中会涉及到P

2012-02-16 19:40:41 3464 3

原创 OpenStack之Swift操作指南

swift-ring-builder account.builder create 18 3 1swift-ring-builder container.builder create 18 3 1swift-ring-builder object.builder create 18 3 1swift-ring-builder account.builder add z1-127

2012-02-16 19:36:03 5482

原创 linux下文件文件夹扩展属性操作

一、通过命令行操作扩展属性:    1、设置扩展属性:          setfattr -n user.name -v liuhong ttttt.c     2、获得一个扩展属性:           输入:getfattr -n user.name  ttttt.c          输出:# file: ttttt.c           user.name="l

2012-02-10 10:33:08 4031

空空如也

空空如也

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

TA关注的人

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