Hadoop
文章平均质量分 68
liangliyin
Hadoop研发、运维
展开
-
参加Hadoop中国2010感受
上周末有幸以出差的形式参加了Hadoop中国2010大会,第一次参加带着几分兴奋。进入会场后第一感觉是人很多,会议开始后更是座无虚席。这从一个侧面表明Hadoop在国内关注度已经很高了。 从与会专家的身份来看,基本上可以分为三类:学术界、互联网公司一线工程师、互联网公司服务商。 其中学术界大多来自中科院研究所,从他们的演讲来看,已经与业界相脱离。他们自身基本没有大规模集群和数据,所提出的问题也没有针对性,因此这些人不会对Hadoop社区和业界做出贡献。 而诸如IBM、EMC,INTEL等公司,他们研究H原创 2010-09-07 14:20:00 · 1540 阅读 · 0 评论 -
Hadoop2启用cgroup
NodeManager启用cgroup资源隔离(Hadoop2.3) 1、准备container-executor.cfg文件 $ cat ${HADOOP_HOME}/etc/hadoop/container-executor.cfg yarn.nodemanager.linux-container-executor.group=users 注意:'users'来自$ groups 返原创 2014-03-19 20:16:26 · 1157 阅读 · 0 评论 -
Uber模式参数(客户端配置)
Uber模式是Hadoop2.0中实现的一种针对MR小作业的优化机制。即如果作业足够小,则所有task在一个jvm(mrappmaster)中完成要比为每个task启动一个container更划算。下面是该机制的相关参数,这些参数均为客户端配置。 总开关 mapreduce.job.ubertask.enable 默认值:false 作业规模条件 mapreduce.job.u原创 2014-03-10 16:10:06 · 1218 阅读 · 0 评论 -
MR作业Container资源计算方式
Container for task memory 单位:mega bytes默认值:1024首选"mapreduce.map|reduce.memory.mb" 默认值:0其次 获取-Xmx配置的heapsize 配置项首选 "mapreduce.map|reduce.java.opts"其次 "mapred.child.java.opts" 默认值:-Xmx200m xm原创 2014-03-07 19:35:43 · 1381 阅读 · 0 评论 -
Apache Hadoop YARN: 背景及概述
从2012年8月开始Apache Hadoop YARN(YARN = Yet Another Resource Negotiator)成了Apache Hadoop的一项子工程。自此Apache Hadoop由下面四个子工程组成: Hadoop Comon:核心库,为其他部分服务Hadoop HDFS:分布式存储系统Hadoop MapReduce:MapReduce模型的开源实现Hado原创 2014-03-07 19:31:50 · 677 阅读 · 0 评论 -
Hadoop的TaskTracker黑名单机制
Note:这里描述的黑名单是指jobtracker网页summary表格中显示的”Blacklisted Nodes",称之为集群黑名单. 在HADOOP-4305之前,Hadoop中每个job会维护一个TaskTracker黑名单,这里称之为job黑名单。简单来讲就是当一个job中有4个task曾经在某个tasktracker上失败过,则该job就将这个tasktracker加入自己的原创 2012-05-27 13:06:35 · 3408 阅读 · 1 评论 -
Hadoop实现Secondary Sort
在hadoop中每个reduce的输入的key都是有序的,而value则是无序的。而且同一个job运行多次,由于map完成顺序不同,reduce收到的value顺序是不固定的。那如何才能实现reduce收到有序的value呢?这就需要Secondary Sort。 Secondary Sort要解决的问题:reduce收到的value有序。 这里举一个场景,来说明Secondary Sort是原创 2012-04-18 20:06:13 · 4134 阅读 · 3 评论 -
JobTracker dump内存记录
1、dump命令行: jmap -dump:live,format=b,file=heap.bin 9359 2、dump时机:CMS GC结束后,这时heap最小,Full GC也最快 2012-05-02T22:08:11.226+0800: 470959.079: [GC [1 CMS-initial-mark: 103404048K(121634816K)] 10379784原创 2012-05-02 22:54:42 · 1611 阅读 · 0 评论 -
用protobuf替换hadoop中rpc的返回值
protobuf是谷歌开发的一套序列化结构化数据用以通讯协议,存储数据等的框架,支持c++、java、python等语言。Hadoop 0.23及之后版本将使用protobuf实现rpc的序列化及反序列化。这里做了一个实验,在hadoop 0.19上实现用protobuf序列化/原创 2011-10-06 16:15:13 · 1938 阅读 · 0 评论 -
可读的JVM GC时间戳
当我们诊断Java应用程序的问题时,能够查到垃圾回收的状况是非常有帮助的。一个基本的最基础的方法是开启垃圾回收日志。 也许你已经知道了,如果我们把下面的参数加到java启动命令行中, -Xloggc: –XX:+PrintGCDetails -XX:+PrintGCDateS翻译 2011-08-22 23:16:20 · 2404 阅读 · 0 评论 -
Hadoop 0.21如何运行单个test case
研究Hadoop 0.21代码时,很多情况下需要运行单个test case,如果新增了功能要测试case能否通过或者自己写的test case需要测试等。而把test case全部运行一遍是很耗时的,严重影响开发效率。这里提供一个0.21 mapreduce的一个diff文件,用原创 2011-07-30 16:34:07 · 1183 阅读 · 0 评论 -
NameNode启动中image文件处理流程
NameNode时与image文件相关的大概有下面三步操作: 第一步 加载image NameNode启动后时首先加载硬盘上的fsimage文件(保持了整个命名空间)和edits文件(保持了命名空间的操作日志),在内存中merge后将新的fsimage写到磁盘上,即做一次checkpoint。 其中加载过程如图1所示: 图1 加载image文件流程 对于云梯1来说,Nam原创 2011-04-28 22:47:00 · 1372 阅读 · 0 评论 -
动态调整配置
对于Hadoop集群这样的分布式系统,有些参数是需要经常调整的,但是又不想重启daemon进程。原因很明显,重启任何一个daemon进程都是要付出代价的。例如重启master相当于停服务,集群直接不可用;重启TaskTracker会导致部分task失败重跑,延长job运行时间等。因此动态调整配置是迫切需要的。总结起来,要实现动态调整配置,大概有以下几种方法:1、通过命令行方式手工刷新配置这原创 2011-06-20 21:58:00 · 3081 阅读 · 1 评论 -
关于Too many fetch-failures错误
Reduce task启动后第一个阶段是shuffle,即向map端fetch数据。每次fetch都可能因为connect超时,read超时,checksum错误等原因而失败。Reduce task为每个map设置了一个计数器,用以记录fetch该map输出时失败的次数。当失败次数达到一定阈值时,会通知JobTracker fetch该map输出操作失败次数太多了,并打印如下log: Failed to fetch map-output from attempt_201105261254_1027原创 2011-05-30 22:22:00 · 6774 阅读 · 2 评论 -
查看文件的block size
当向HDFS上写文件时,可以通过设置dfs.block.size配置项来设置文件的block size,这导致HDFS上不同文件的block size是不同的。有时候我们需要知道HDFS上某个文件的block size,比如想知道该该文件作为job的输入会创建几个map等。Hadoop FS Shell提供了一个-stat选项可以达到目的。官方文档描述这个选项时遗漏了可选参数。-stat选项的使用格式是: {HADOOP_HOME}/bin/hadoop fs –stat [format] 其中可选的原创 2010-11-03 10:49:00 · 4590 阅读 · 1 评论 -
Hadoop的fsck工具
HDFS支持fsck命令用以检查各种不一致。fsck用以报告各种文件问题,如block丢失或缺少block等。fack命令用法如下: bin/hadoop fsck [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 检查的起始目录 -move 将损坏的文件移动到/lost+found下面 -delete 删除损坏的文件 -openforwrite原创 2010-09-08 23:50:00 · 4913 阅读 · 1 评论 -
Hadoop2中启用snappy
Snappy是一个压缩/解压缩库。它的压缩率并非最高,但是它在保证一定压缩率情况下,压缩及解压缩速度非常快。基于以上特点,Snappy非常适合用于Hadoop MapReduce中间数据压缩。Snappy详情参见:http://code.google.com/p/snappy/。 本文将介绍如何在Hadoop2中启用Snappy压缩。 1、下载Snappy的rpm包: http://www.r原创 2014-03-19 20:07:32 · 1244 阅读 · 1 评论