`
david.org
  • 浏览: 155123 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表

LSM-Tree

 
Google的BigTable架构在分布式结构化存储方面大名鼎鼎,其中的MergeDump模型在读写之间找到了一个较好的平衡点,很好的解决了web scale数据的读写问题。 MergeDump的理论基础是LSM-Tree (Log-Structured Merge-Tree), LSM思想非常朴素,就是将对数据的更改hold在内存中,达到指定的threadhold后将该批更改批量写入到磁盘,在批量写入的过程中跟已经存在的数据做rolling merge。拿update举个例子:比如有1000万行数据,现在希望UPDATE TABLE a set addr='new addr' WHERE ...
  这段时间忙的都没时间整理博客,这是一个不好的现象。整理了一下Hive的基础文档:   FaceBook 镜像(被墙):http://mirror.facebook.com/facebook/hive Wiki 页面:http://wiki.apache.org/hadoop/Hive 入门指南:http://wiki.apache.org/hadoop/Hive/GettingStarted 查询语言指南:http://wiki.apache.org/hadoop/Hive/HiveQL 演示文稿:http://wiki.apache.org/hadoop/Hive/Pre ...
  没想到Hadoop在解析XML时如此纠结,以至于新版api的mapreduce竟然放弃了XML格式的format以及reader,在老版(hadoop-0.19.*)的streaming模块提供了这样的api,由于我用的hadoop-0.20.2 3U1版本,因此需要把处理XML的几个类移植过来使用。   移植所带来的问题是各处依赖包,和各种api不兼容。没关系,我可以看一下源码,然后自己写一个。细看了一下reader的代码,发现mapreduce使用了BufferedInputStream的mark,reset来寻找XML的tag,这个tag就是我们在提交作业所设置的,比如< ...
  数据分布倾斜性指的是数据分布过度集中于数据空间的某端,造成“头重脚轻”或者“比萨斜塔”等不均匀的分布特点。数据分布倾斜性将造成运算效率上的“瓶颈”和数据分析结果的“以偏概全”。 效率上的“瓶颈” 假如在大型商场中,共有A,B1,B2…..B9十家店铺,其中A店铺中有99W商品,B1,B2….B9这九家店铺分别有1W商品。我们要统计商场中商品总数,计算初,采用HASHMAP作为存储结构,其中Key:店铺 Value:商品。我们的计算过程是先统计每个店铺的商品总数,最后将结果累加。可以发现,由于A有99W商品,按照1+1的累积方式(假如1+1
近来网站随着访问量的增加,服务器的压力也随之上升,一个很明显的状况便是服务端产生了大量的TIME_WAIT状态,它究竟是什么、对系统有何影响、为什么很多人对它如此敏感? Google一下TIME_WAIT会有成千上万的文章,但总是别人的,今天自己整理一下对TIME_WAIT的认识。 TCP连接的终止 TCP建立一个连接至少需要交换三个分组,也因此称之为TCP的三路握手(three-way handshake),然而在TCP终止连接时,由于双方都需要发送一个FIN分节给对端确认,因此TCP终止连接一般是需要交换四个分节。具体来看: 1、 应用进程(active close)首先调用close, ...
FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是20。这就 ...
有段时间不写博客了,感觉自己懒惰了不少,当然也是不够努力。近一年的时间一直在开发Hadoop基础应用。   新的项目上线之后发现,有些会员上传资源到我们集群的速度,既然跟我们集群的吞吐量差不多,达到了70M+/s的速度 ...
上篇文章中说到我在Hadoop的50070的web页面增加了每个node的xceiver count,这个问题也是通过这个指标发现的。 由于我的客户端从始至终都是一个Filesystem实例,因此在put完文件时java实例并不会销毁,客户端在运行较长时间后,发现每个Node的xceiver count值很高,当初以为是节点读写量比较大,但通过stack分析来看,却是写的线程比较多,难道又是当初的老毛病 http://dongyajun.iteye.com/blog/628028 ? 除非数据无法flush到datanode,会造成客户端无法关闭流外(DFSClient#flushInter ...
由于目前处理的数据量还未称的上大规模,但每个节点的压力都不小,真是稳定压倒一切呀。 在系统的作业过程中,不仅仅是关注磁盘使用量,CPU,Load,以及IOWait等指标,更重要的是深入到进程内部,来发现潜在的问题。近期一直在关注Hadoop系统的运行,我把dfshealth.jsp 的web管理页面加了一个新的指标,就是每个Node的Xceiver Count,该参数表示当前Node有多少线程数在服务w/r;另外一个很有用的指标就是每个Node的Last Contact,这个心跳包的最后更新时间一般超过3时你就得留意着是不是还会继续增长,如果持续走高,那你就得花点时间来care一下这台node ...
可以说等待这个版本花儿都谢过两次了, 很开心今天早上收到来自Nabble, Tom White发布0.21.0 Hadoop的邮件。这个版本一共记录了超过1300个issues, 有improvements, new features, bug fixes and optimizations,下载地址: http://hadoop.apache.org/common/releases.html Changes Log: Common:http://hadoop.apache.org/common/docs/r0.21.0/releasenotes.html HDFS:http://hado ...
相信大家对Hadoop 0.21 的版本已经期待以久了吧,确实该版本在各个模块都有比较大的变化,单JIRA中的关于该版本的issues已经多达1000多。 至于0.21版本的变化大伙可以在releae中查看Changes Log,目前Tom White正在做RC版,可以在 http://people.apache.org/~tomwhite/hadoop-0.21.0-candidate-2/ 下载。经我目前测试下来,还不是太稳定。
好记性真不如烂笔头, 对于一些不常用的命令还是记录一下吧。 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8个逻辑CPU, 也知道了CPU型号) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1 (说明实际上是两颗4 ...
引 今晚读了新同事关于P2P做种的Java 代码,Code风格很漂亮,但仔细多看几眼,就会出现瑕疵。其中有一点关于线程的安全性,还是觉得有必要拿出来说说。 代码的意图是利用一个标识性Boolean变量来控制一个线程的开启(Service ...
SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果。那个没有注意的指标就是load average,他和我一样开始只是注意了CPU,内存的使用状况,而没有太注意这个指标,这个指标与他们通常的限制(10左右)有差别。重新测试的结果由于这个指标被要求压低,最后的报告显然不如原来的好看。自己也没有深入过压力测试,但是觉得不搞明 ...
    关于Hadoop的Append功能相信有很多人都会觉得非常有用, 自从0.18.3版本支持Append, Hadoop在此功能上付出了剧痛的代价, 后来版本中, Hadoop干脆加了fs.append.support选项来禁止Append功能的使用. 当时Append功能的bug主要有下面几个 * HDFS-142 “Datanode should delete files under tmp when upgraded from 0.17″ * HADOOP-4692 “Namenode in infinite loop for replicating/delet ...
Global site tag (gtag.js) - Google Analytics