自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LSM-Tree

Google的BigTable架构在分布式结构化存储方面大名鼎鼎,其中的MergeDump模型在读写之间找到了一个较好的平衡点,很好的解决了web scale数据的读写问题。MergeDump的理论基础是LSM-Tree (Log-Structured Merge-Tree), LSM思想非常朴素,就是将对数据的更改hold在内存中,达到指定的threadhold后将该批更改批量写入到磁盘,在...

2012-07-16 10:43:18 152

原创 一些关于Hive的资料

 这段时间忙的都没时间整理博客,这是一个不好的现象。整理了一下Hive的基础文档: FaceBook 镜像(被墙):http://mirror.facebook.com/facebook/hiveWiki 页面:http://wiki.apache.org/hadoop/Hive入门指南:http://wiki.apache.org/hadoop/Hive/GettingS...

2012-01-21 09:28:36 188

原创 关于MapReduce解析XML算法的一点构思

 没想到Hadoop在解析XML时如此纠结,以至于新版api的mapreduce竟然放弃了XML格式的format以及reader,在老版(hadoop-0.19.*)的streaming模块提供了这样的api,由于我用的hadoop-0.20.23U1版本,因此需要把处理XML的几个类移植过来使用。 移植所带来的问题是各处依赖包,和各种api不兼容。没关系,我可以看一下源码,然后...

2011-12-18 10:39:44 185

原创 TCP-TIME_WAIT

[size=small]近来网站随着访问量的增加,服务器的压力也随之上升,一个很明显的状况便是服务端产生了大量的TIME_WAIT状态,它究竟是什么、对系统有何影响、为什么很多人对它如此敏感?Google一下TIME_WAIT会有成千上万的文章,但总是别人的,今天自己整理一下对TIME_WAIT的认识。[/size][size=small][b]TCP连接的终止[/b]TCP建立一...

2011-08-17 17:43:30 179

原创 FTP主动模式与FTP被动模式所需的端口

FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。(一)主动FTP主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也...

2011-06-20 10:43:49 369

原创 Hadoop 坑爹的Be Replicated to 0 nodes, instead of 1 异常

[i][size=medium]有段时间不写博客了,感觉自己懒惰了不少,当然也是不够努力。近一年的时间一直在开发Hadoop基础应用。[/size][/i] 新的项目上线之后发现,有些会员上传资源到我们集群的速度,既然跟我们集群的吞吐量差不多,达到了70M+/s的速度。 在向集群put数据时,抛出了异常:[code="java"]org.apache.hadoop.ipc.RemoteE...

2011-05-11 11:57:12 310

Hadoop 客户端长期运行造成Datanode 连接泄露, 0.21.0 仍然存在这问题

上篇文章中说到我在Hadoop的50070的web页面增加了每个node的xceiver count,这个问题也是通过这个指标发现的。由于我的客户端从始至终都是一个Filesystem实例,因此在put完文件时java实例并不会销毁,客户端在运行较长时间后,发现每个Node的xceiver count值很高,当初以为是节点读写量比较大,但通过stack分析来看,却是写的线程比较多,难道又是...

2010-09-09 17:29:06 147

影响Hadoop集群稳定性后续

由于目前处理的数据量还未称的上大规模,但每个节点的压力都不小,真是稳定压倒一切呀。在系统的作业过程中,不仅仅是关注磁盘使用量,CPU,Load,以及IOWait等指标,更重要的是深入到进程内部,来发现潜在的问题。近期一直在关注Hadoop系统的运行,我把dfshealth.jsp 的web管理页面加了一个新的指标,就是每个Node的Xceiver Count,该参数表示当前Node有多少线...

2010-09-09 17:27:22 177

原创 Hadoop-0.21.0今天3:20AM正式发布到Apache

可以说等待这个版本花儿都谢过两次了, 很开心今天早上收到来自Nabble, Tom White发布0.21.0 Hadoop的邮件。这个版本一共记录了超过1300个issues, 有improvements, new features, bug fixes and optimizations,下载地址:[url]http://hadoop.apache.org/common/release...

2010-08-25 05:53:54 90

原创 Plans for a 0.21 Hadoop Release

相信大家对Hadoop 0.21 的版本已经期待以久了吧,确实该版本在各个模块都有比较大的变化,单JIRA中的关于该版本的issues已经多达1000多。 至于0.21版本的变化大伙可以在releae中查看Changes Log,目前Tom White正在做RC版,可以在[url]http://people.apache.org/~tomwhite/hadoop-0.21.0-cand...

2010-08-22 20:49:09 103

原创 Linux查看CPU信息、机器型号等硬件信息

好记性真不如烂笔头, 对于一些不常用的命令还是记录一下吧。 查看CPU信息(型号)[code="shell"]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz[/code](看到有8个逻辑CPU, 也知...

2010-06-10 21:22:26 973

原创 线程安全性-volatile

[b]引[/b]今晚读了新同事关于P2P做种的Java 代码,Code风格很漂亮,但仔细多看几眼,就会出现瑕疵。其中有一点关于线程的安全性,还是觉得有必要拿出来说说。代码的意图是利用一个标识性Boolean变量来控制一个线程的开启(Service)与结束(Shutdown)。A类:[code="java"]private Boolean isStarted = false;...

2010-05-09 20:01:06 85

理解Load Average做好压力测试

SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果。那个没有注意的指标就是load average,他和我一样开始只是注...

2010-04-16 14:06:47 190

Hadoop-0.21 版本, NEW FEATURES-Append设计文档.

关于Hadoop的Append功能相信有很多人都会觉得非常有用, 自从0.18.3版本支持Append, Hadoop在此功能上付出了剧痛的代价, 后来版本中, Hadoop干脆加了fs.append.support选项来禁止Append功能的使用. 当时Append功能的bug主要有下面几个 [code="java"] * HDFS-142 “Datanode should...

2010-04-14 09:44:55 95

Java nio的一个严重BUG

  这个BUG会在linux上导致cpu 100%,使得nio server/client不可用,具体的详情可以看这里http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6403933。令人失望的是这个BUG直到jdk 6u4才解决,sun的拖沓让人难以相信。这个BUG在server端容易出现,因为server端有频繁地接入断开连接。 ...

2010-04-11 16:06:36 139

New language features in Java 7

Here are 7 of the new features that have been completed:• Language support for collections• Automatic Resource Management• Improved Type Inference for Generic Instance Creation (diamond)• Unde...

2010-04-01 12:33:58 80

Hadoop-HDFS DFSClient的严重bug

上一篇说到Shell 对自身DN造成的性能影响,本篇说一下它对DFSClient的冲击。 不知道有没有朋友像我这样病态的使用Hadoop, 我的DFSClient总是一直Running的,因为我需要它时刻为我做事,所以我不会轻意重新创建一个与NN相连的DFSClient。 闲言少述。 Shell 的执行对正在put文件的客户端会产生下列异常:1. DataStreamer Ex...

2010-03-30 12:00:08 230

Hadoop-HDFS 对性能造成重大影响的神秘杀手-Shell.

[i][size=medium]关于想了解HDFS的源码的朋友, 可以到蔡斌大哥那读读他的javaeye.[/size][/i]很抱歉, 我用了神秘杀手一词, 因为它实在害我太惨, 又花了好大精力才把它给拎出来。 :D 近来在测试Hadoop时, 使用NameNode身上的dfshealth.jsp 管理页面发现,DataNode在运行的过程中, Last Contact 参数时...

2010-03-30 10:42:39 144

[JVM-翻译]揭开java.lang.OutOfMemoryError面纱之一

[b]Java.lang.OutOfMemoryError是什么[/b]Java.lang.OutOfMemory是java.lang.VirtualMachineError的一个子类,当Java虚拟机中断,或是超出可用资源时抛出。很明显,OutOfMemory是在Java虚拟机资源耗尽的情况下无法分配对象时抛出的。不过很不幸,Java的说明文档并没有对该异常进行进一步的阐述。 Jav...

2010-03-23 18:10:03 273

[JVM]-OutOfMemoryError: unable to create new native thread

近来在系统的运行过程中碰到了一位老朋友,它正是大家所熟悉的OutOfMemory*,不过跟以前那位不太一样,它托着一个Error的尾巴,另外则是系统在抛出该例外时,并没有退出JVM实例。那么这位改头换面的朋友究竟是何许人也,Google了一下居然也有一大片的介绍,甚至有些Blog已经探索到JVM寻址技术。这里赞一下,很好很强大,但如同我老大所说,精确到这层面,那么我们所能做的优化工作还剩多...

2010-03-17 14:40:04 94

Hadoop源码分析-HDFS

经过近66个工作日的时间,终于搞定了HDFS系统,在我们的项目中,称为Fordim0.1。为了能够让更多的朋友认识Hadoop在此附上一Google’s Solution --> Open Source Word’s Solution : Google File System – Hadoop Distributed FS Map-Reduce – Hadoop Map-Red...

2010-03-11 20:46:29 86

Linux 如何查看进程的各线程的CPU占用

[url]http://www.iteye.com/topic/283992[/url] 此文很好很强大,对于爪哇应用来说,估计不能这样搞,我找遍javadoc,没发现可以提供这种手段的方法函数。不过我们可以转个弯,试试这样做:1 先用ps + grep找出该死的进程pid,比如 304202 top -H -p 30420,所有该进程的线程都列出来了。看看哪个线程pid占用最...

2010-03-11 17:15:42 102

Linux Load average负载详细解释

更有说服力的文章:[url]http://dongyajun.iteye.com/blog/645553[/url]我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载。  你可能对于 Linux 的负载均值(load averages)已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到,它们可...

2010-03-11 16:55:33 68

Linux umount : device is busy 解决方案

Linux 下的磁盘分区通过挂载(mount)的方式连到一个目录下, 打开此目录就可以看到该分区的内容, 与挂载相反的操作是umount, 它将磁盘分区与目录的关联关系解除.最近在umount时报下列外, 如:[code="java"]#umount /sd03Umount: /sd03 : device is busy. [/code]这说明还有某个程序正在使用此目录, 为了...

2010-03-09 15:04:15 221

Linux rsync命令详解

1、什么是RsyncRsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rs...

2010-03-05 15:55:43 67

Hadoop FSDataset中,dfs.datanode.du.reserved 参数选项之BUG

在DN的hadoop-site.xml中配置了选项:[code="java"] dfs.datanode.du.reserved 1024[/code]这样是为了保证每个磁盘写入点能预留1K的空间来,而不是让DN将每个磁盘写入点写满,以导致M/R写local文件是发生磁盘空间不够而失败,甚至启动DN时也有可能失败(DN在启动时会初使化本地临时目录)。但是最近发现,这个配...

2010-02-23 15:56:53 226

原创 HADOOP-HDFS 自动清除Trash以释放空间

HDFS should support Auto-Emptier to automatically expunge trash for releasing space.HADOOP-HDFS需要有一个Auto-Emptier 线程来自动清除trash, 以释放HDFS的总使用空间, 该功能可以配置为可选项, 可以在Configuration下增加这两个参数以供配置. 1. fs.t...

2010-02-09 11:12:26 1208

原创 HADOOP-HDFS DataNode变身为存储/下载服务器

Hadoop默认采用返回host的手段,给予客户端响应。在FSNamesystem端,实现了以jetty为容器的web服务,在集群中,通过HTTP可以很轻松的下载文件系统当中的某文件。不过在此,记录的不是如何下载文件,而是Hadoop未实现的几个下载功能的实现方法。 假使我们现在需要让DataNode成为我们存储系统的下载、及存储服务器。那么按照现有的Hadoop的实现,会遇到如下问题:...

2010-02-09 10:10:26 119

原创 一个记录近某段时间内流量的小程序

在应用程序中, 有时并不希望只是为了存储某些数据而引入数据库这个大载体, 在文件下载服务器中, 可以用一个 List记录某IP, 或者某用户在最近一段时间内所读取的流量.新建一个用于存放流量的列表:[code="java"]/** A list for storing recently past 30 minutes reads */ static final List LIN...

2010-02-08 10:43:43 109

原创 Java 利用Linux Openssl 库计算文件校验码

在传统Java编程中, 我们可以另用ProcessBuilder类来创建系统进程或者Runtime类来取得JVM的接口对象运行我们指定的系统命令, 并且可以通过读入器来获取系统的out以及err输出.这里有一个简单的例子, 没有用过的同学可以参考一下. [url]http://wuhongyu.iteye.com/blog/461477[/url]由于前段时间有这样的一个需求, 尽...

2010-02-06 17:42:24 87

原创 hadoop 客户端(DfsClient)需要处理管道异常的情况.

hadoop客户端实例在运行较长时间后, 如中间在put文件的过程中, 出现网络异常, 比如节点和节点之间传输时的网络异常, 那么客户端(DFSClient)抛出异常, 如当中的processDatanodeError(boolean hasError, boolean isAppend)方法中的All datanode XXX are bad. Aborting异常, 当程序执行至此, cl...

2010-02-06 17:18:26 207

Hadoop的Secondary NameNode(1)

Secondary NameNodeNameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits)。当一个NameNode启动时,它首先从一个映像文件(fsimage)中读取HDFS的状态,接着应用日志文件中的edits操作。然后它将新的HDFS状态写入(fsimage)中,并使用一个空的edits文件开始正常操作。因为NameNode只有在启动阶段才合并fsima...

2009-11-19 21:12:10 83

原创 Hadoop Datanode中的Selector.select(timeout) 方法返回0

最近在使用Hadoop时,出现了严重问题,经近两个星期的折腾,最终问题可能还是JDK的bug导致。 Hadoop 原issue(https://issues.apache.org/jira/browse/HDFS-693)Sun Java bug database (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6403933)...

2009-10-19 16:15:43 185

原创 FilterDispatcher 的作用

org.apache.struts2.dispatcher.FilterDispatcher是Struts2的主要的Filter,负责四个方面的功能: (1)执行Actions (2)清除ActionContext (3)维护静态内容 (4)清除request生命周期内的XWork的interceptors 另注:该...

2009-10-17 08:00:54 133

Linux wget命令使用详解

原帖地址:http://butian.org/knowledge/linux/20081007/255.htmlWget 的使用1)支持断点下传功能(2)同时支持FTP和HTTP下载方式(3)支持代理服务器(4)设置方便简单;5)程序小,完全免费;命令格式:  wget [参数列表] [目标软件、网页的网址]1、启动类参数  这一类参数主要提供软件的一些...

2009-10-17 07:55:23 139

原创 File Appends in HDFS [HDFS-145]

FSNameSystem#addStoredBlock does not handle inconsistent block length correctlyDescription: Currently NameNode treats either the new replica or existing replicas as corrupt if the new replica's ...

2009-08-05 10:46:17 110

[HDFS] Hadoop Over Ftp 项目的两点改进

[b]General[/b]We developed FTP server which works on a top of HDFS. It allows to connect to HDFS using any FTP client.FTP server is configurable by hdfs-over-ftp.conf and users.conf. Also it all...

2009-05-26 17:25:54 158

原创 [HDFS] 主控节点的双IP解决方案

需求:Master服务器有两个网卡,一个内网地址,一个外网地址。现在监听9000端口,那么其他节点可通过内网或是外网地址都可以连接到这台NameNode. 在程序中,监听0.0.0.0地址,可以使程序监听某端口上的任意IP,不过事实没有那么简单,经过反复折腾,发现windows是可以这样监听,但是Linux不行,大伙可以试试。 在linux中,在启动Namenode时,可以通过日...

2009-05-26 17:13:49 383

原创 [HDFS] 让Datanode成为下载/存储服务器

Hadoop默认采用返回host的手段,给予客户端响应。在FSNamesystem端,实现了以jetty为容器的web服务,在集群中,通过HTTP可以很轻松的下载文件系统当中的某文件。不过在此,记录的不是如何下载文件,而是Hadoop未实现的几个下载功能的实现方法。 假使我们现在需要让DataNode成为我们存储系统的下载、及存储服务器。那么按照现有的Hadoop的实现,会遇到如下问题:...

2009-05-26 11:00:26 131

空空如也

空空如也

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

TA关注的人

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