摘要: F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统。Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard规则时格外注意,尽量将相关数据shard到同一台MySQL上。扩容时对数据reshard时也需要尽量... 阅读全文
posted @ 2015-03-25 19:30 吴镝 阅读(18081) 评论(0) 推荐(0) 编辑
摘要: HDFS Append时packet的格式以及DataNode对block/checksum文件的处理HDFS的Block一般比较大,默认64MB/128MB,客户端给DataNode发数据实际上是以Packet的形式发送的,Packet一般只有64KB左右。Packet内部由分为一个个chunk,... 阅读全文
posted @ 2015-03-17 15:43 吴镝 阅读(1950) 评论(1) 推荐(0) 编辑
摘要: [HDFS-RAID](https://github.com/facebookarchive/hadoop-20/tree/master/src/contrib/raid) 是Facebook基于hadoop-20-append分支(第一代Hadoop)开发的raid方案,对HDFS的修改极少,主要... 阅读全文
posted @ 2015-03-13 23:55 吴镝 阅读(5391) 评论(2) 推荐(0) 编辑
摘要: Facebook在OSDI 2014上发表论文[f4: Facebook’s Warm BLOB Storage System](https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-muralidhar.pdf),这个... 阅读全文
posted @ 2015-02-13 21:37 吴镝 阅读(1734) 评论(1) 推荐(0) 编辑
摘要: 最近迁移数据时需要执行大Scan,HBase集群经常碰到以下日志:```Exception in thread "main" org.apache.hadoop.hbase.DoNotRetryIOException: Failed after retry of OutOfOrderScannerN... 阅读全文
posted @ 2015-02-11 15:19 吴镝 阅读(3814) 评论(0) 推荐(0) 编辑
摘要: ####存储选型Blob(binary large object)存储系统主要用来存储二进制的大对象,比如图片,视频。这样的数据不太适合存储在类LSM系统例如HBase中,原因在于这种数据尺寸相对较大,写入RegionServer的memstore后很快会触发region的flush,在磁盘上形成大... 阅读全文
posted @ 2015-02-10 15:37 吴镝 阅读(2542) 评论(0) 推荐(1) 编辑
摘要: HDFS目前存储文件的方案是将一个文件切分成多个Block进行存储,通常一个Block 64MB或者128MB,每个Block有多个副本(replica),每个副本作为一个整体存储在一个DataNode上,这种方法在增加可用性的同时也增加了存储成本。ErasureCode通过将M个数据block进行... 阅读全文
posted @ 2015-02-09 18:07 吴镝 阅读(4746) 评论(3) 推荐(0) 编辑
摘要: 这篇分析一下Lease Recovery 和 Block Recoveryhdfs支持hflush后,需要保证hflush的数据被读到,datanode重启不能简单的丢弃文件的最后一个block,而是需要保留下hflush的数据。同时为了支持append,需要将已经finalized的block重新... 阅读全文
posted @ 2014-12-09 11:39 吴镝 阅读(7216) 评论(0) 推荐(1) 编辑
摘要: 这篇分析一下namenode 写edit log的过程。关于namenode日志,集群做了如下配置``` dfs.nameservices sync Logical name for this new nameservice dfs.namenode.name.d... 阅读全文
posted @ 2014-12-07 11:38 吴镝 阅读(4583) 评论(0) 推荐(1) 编辑
摘要: HDFS的hflush,hsync和close有啥区别,分别做了什么hflush: 语义是保证flush的数据被新的reader读到,但是不保证数据被datanode持久化.hsync: 与hflush几乎一样,不同的是hsync保证数据被datanode持久化。close: 关闭文件.除了做到以上... 阅读全文
posted @ 2014-12-04 23:44 吴镝 阅读(7410) 评论(0) 推荐(0) 编辑