`
david.org
  • 浏览: 155330 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
    这个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端有频繁地接入断开连接。 使用jdk 6u4之前版本的nio框架都有这个隐患,除非你的框架很好地处理了这个可能的隐患。Grizzly的处理方式比较简单,也就是BUG报告里面提到的方式,在SelectionKey.cancel() ...
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) • Underscores in numeric literals • Strings in switch • Binary literals • Simplified Varargs Method Invocation ...
上一篇说到Shell 对自身DN造成的性能影响,本篇说一下它对DFSClient的冲击。 不知道有没有朋友像我这样病态的使用Hadoop, 我的DFSClient总是一直Running的,因为我需要它时刻为我做事,所以我不会轻意重新创建一个与NN相连的DFSClie ...
关于想了解HDFS的源码的朋友, 可以到蔡斌大哥那读读他的javaeye. 很抱歉, 我用了神秘杀手一词, 因为它实在害我太惨, 又花了好大精力才把它给拎出来。  近来在测试Hadoop时, 使用NameNode身上的dfshealth.jsp 管理页面发现,DataNode在运行的过程中, Last Contact 参数时常会超过3。LC(Last Contact)的意思是表明DataNode有多少秒的时间未向NameNode发送心跳包了. 然而默认DataNode是3秒发送一次, 我们都知道,NameNode默认以10分钟作为DN的死亡超时时间,那么究竟有哪些因素会导致JSP管理页面L ...
Java.lang.OutOfMemoryError是什么 Java.lang.OutOfMemory是java.lang.VirtualMachineError的一个子类,当Java虚拟机中断,或是超出可用资源时抛出。很明显,OutOfMemory是在Java虚拟机资源耗尽的情况下无法分配对象时抛出的。不过很不幸,Java的说明文档并没有对该异常进行进一步的阐述。 Java虚拟机包括六个不同的运行时数据区域(内存区域): 1. 程序计数器(Program Counter Register) 2. Java虚拟机栈(Java VM Stack) 3. Java堆(Heap) 4. 方法区(J ...
近来在系统的运行过程中碰到了一位老朋友,它正是大家所熟悉的OutOfMemory*,不过跟以前那位不太一样,它托着一个Error的尾巴,另外则是系统在抛出该例外时,并没有退出JVM实例。 那么这位改头换面的朋友究竟是何许人也,Goo ...
经过近66个工作日的时间,终于搞定了HDFS系统,在我们的项目中,称为Fordim0.1。 为了能够让更多的朋友认识Hadoop在此附上一Google’s Solution --> Open Source Word’s Solution :  Google File System – Hadoop Distributed FS  Map-Reduce – Hadoop M ...
http://www.iteye.com/topic/283992 此文很好很强大,对于爪哇应用来说,估计不能这样搞,我找遍javadoc,没发现可以提供这种手段的方法函数。 不过我们可以转个弯,试试这样做: 1 先用ps + grep找出该死的进程pid,比如 30420 2 top -H -p 30420,所有该进程的线程都列出来了。看看哪个线程pid占用最多,然后将这个pid转换为16进制,如 44bf,注意要小写 3 jstack 30420 | less,然后查找 nid=0x44bf,哦,找到了 "main" prio=10 tid=0x00000000539 ...
更有说服力的文章:http://dongyajun.iteye.com/blog/645553 我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载。   你可能对于 Linux 的负载均值(load averages)已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到,它们可能会显示成这个样子:   load average: 0.09, 0.05, 0.01   很多人会这样理解负载均值:三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。数字越高,说 ...
Linux 下的磁盘分区通过挂载(mount)的方式连到一个目录下, 打开此目录就可以看到该分区的内容, 与挂载相反的操作是umount, 它将磁盘分区与目录的关联关系解除. 最近在umount时报下列外, 如: #umount /sd03 Umount: /sd03 : device is busy. 这说明还有某个程序正在使用此目录, 为了保证程序的运行, 默认情况下umount不能卸载. 但是umount没说是哪个程序正在使用.  在Linux里有一个命令 fuser, 可以通过man fuser 看到详细的介绍: Fuser - identify processes using ...
1、什么是Rsync Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的主配置文件。Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时Rsync server会打开一个873端口,等待客户端去连 ...
在DN的hadoop-site.xml中配置了选项: <property> <name>dfs.datanode.du.reserved</name> <value>1024</value> </property> 这样是为了保证每个磁盘写入点能预留1K的空间来,而不是让DN将每个磁盘写入点写满,以导致M/R写local文件是发生磁盘空间不够而失败,甚至启动DN时也有可能失败(DN在启动时会初使化本地临时目录)。但是最近发现,这个配置选项并没有生效,还是有很多DN上的磁盘被写满了。究其代码,就发现了问题: l ...
HDFS should support Auto-Emptier to automatically expunge trash for releasing space. HADOOP-HDFS需要有一个Auto-Emptier 线程来自动清除trash, 以释放HDFS的总使用空间, 该功能可以配置为可选项, 可以在Configuration下增加这两个参数以供配置. 1. fs.trash.autoemptier.interval  执行空间检查的时间时间隔, 设置为0时, 禁用该功能, 默认为20 Seconds. 2. fs.trash.max.percentused 当已使用空间率 ...
Hadoop默认采用返回host的手段,给予客户端响应。在FSNamesystem端,实现了以jetty为容器的web服务,在集群中,通过HTTP可以很轻松的下载文件系统当中的某文件。不过在此,记录的不是如何下载文件,而是Hadoop未实现的几个下载功能的实现方法。 假使我们现在需要让DataNode成为我们存储系统的下载、及存储服务器。那么按照现有的Hadoop的实现,会遇到如下问题: 1. 远程机无法下载文件。 2. 远程机器无法使用flashGet、迅雷等下载工具,实现断点下载。 3. 远程机可以任意拼出HTTP地址,下载集群中的文件。 首先出现第一种情况的主要原因是,远程机无法解 ...
在应用程序中, 有时并不希望只是为了存储某些数据而引入数据库这个大载体, 在文件下载服务器中, 可以用一个 List记录某IP, 或者某用户在最近一段时间内所读取的流量. 新建一个用于存放流量的列表: /** A list for storing recently ...
Global site tag (gtag.js) - Google Analytics