自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快乐程序员的专栏

专注于hadoop运维,大数据处理,即席查询,hadoop生态圈组件研究

  • 博客(259)
  • 资源 (10)
  • 收藏
  • 关注

原创 一次因为数据问题引起的reduce被卡住streaming作业问题排查

广告产品技术部有一个作业总是卡在某个reduce上,运行了好几个小时也运行不完,经过他们初步排查找不着问题原因,发邮件让我帮看看,我看了一下这个streaming作业是用python实现的,而且听他们描述,3月17之前该作业是没问题的,以下是可能存在问题的地方:

2015-03-21 11:27:05 3657

转载 Yarn shuffle OOM错误分析及解决

前两周和同事一起分析了一下yarn shuffle oom的问题,最后他写了一个blog,我这里就不重复写了,把他的转载过来,他的blog写得都很有深度,推荐大家去看看。原文地址:http://dj1211.com/?p=358最近集群中一些任务经常在reduce端跑出Shuffle OOM的错误,具体错误如下:2015-03-09 16:19:13,646 W

2015-03-19 13:27:08 3550 1

原创 hive中使用正则表达式不当导致运行奇慢无比

业务保障部有一个需求,需要用hive实时计算上一小时的数据,比如现在是12点,我需要计算11点的数据,而且必须在1小时之后运行出来,但是他们用hive实现的时候发现就单个map任务运行都超过了1小时,根本没法满足需求,后来打电话让我帮忙优化一下,以下是优化过程:

2015-03-19 13:20:42 4690 1

转载 Spark RDD API详解(一) Map和Reduce

转载地址:https://www.zybuluo.com/jewes/note/35032RDD是什么?RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理。因此,Spark应用程序所做的无

2015-03-02 17:19:51 1218

转载 理解Spark的核心RDD

转载地址:http://www.infoq.com/cn/articles/spark-core-rdd与许多专有的大数据处理平台不同,Spark建立在统一抽象的RDD之上,使得它可以以基本一致的方式应对不同的大数据处理场景,包括MapReduce,Streaming,SQL,Machine Learning以及Graph等。这即Matei Zaharia所谓的“设计一个通用的

2015-03-02 14:38:58 973

原创 通过sed和awk获取集群最新挂掉的DataNode信息

由于之前远程桌面不好使,集群出现了missing block的时候没法登陆远程桌面查看是那些节点由于重启导致DataNode进程挂掉。同时简单的用命令hdfs dfsadmin -report查看又不方便,信息量太多,以下是一个用sed和awk实现的简单的脚本:

2015-02-26 10:40:14 1242

原创 MapReduce中使用字符串拼接导致的问题

今天在帮业务方优化mapreduce作业时遇到一个用字符串拼接的问题。

2015-02-25 16:09:59 3189

原创 hive-0.13固化自定义UDF

之前帮业务方固化过hive-0.7的自定义的UDF,由于现在大部分业务数据都已经迁移到hadoop2.4.0,hive使用的版本是0.13,之前固化的UDF不能用了,让在0.13上面也固化一下,以下是固化过程:

2015-02-06 18:40:08 1861

原创 DistributedRaidFileSystem引起的HDFS RAED不准问题

在测试环境和线上运行相同的hql,而且表对应的数据量都是95G左右,但是发现在测试环境和线上的counter:HDFS RAED不一致,而且差一个数量级,线上只有8G左右,而测试环境达到95G,基本上就是全文件扫描,没有体现出RCFile的优势。

2015-01-18 22:57:19 1392

原创 hadoop2.4.0的distcp引起的问题

最近在支持业务部门将数据从hadoop0.20.203迁移到hadoop2.4.0的时候,distcp报了几个错误,在这里记录一下:

2015-01-06 12:46:14 6611

原创 hadoop2.0的mapreduce作业classpath研究

hdfs raid从facebook移植过来很久了,包括hadoop0.20.203和hadoop2.4.0版本,但是最近才准备上线hadoop2.4.0版本的hdfs raid,上线前准备在好好测试测试,确保上线顺利,hdfs raid代码分成两部分,一部分是hdfs下面的代码,这部分代码上一次和其他patch一起已经上线,另外一部分是raid自己比较独立的代码,按照之前的计划,后一部分代码准备只部署在RaidNode节点和gateway上面,这样对集群的影响是最小的,不需要重启hadoop进程,在测试R

2014-12-25 13:14:46 6518 2

原创 hadoop2.4 支持snappy

我们hadoop2,4集群默认不支持snappy压缩,但是最近有业务方说他们的部分数据是snappy压缩的(这部分数据由另外一个集群提供给他们时就是snappy压缩格式的)想迁移到到我们集群上面来进行计算,但是直接运行时报错:

2014-12-22 23:14:07 6308

原创 mapreduce作业reduce被大量kill掉

之前有一段时间,我们的hadoop2.4集群压力非常大,导致提交的job出现大量的reduce被kill掉,相同的job运行时间比在hadoop0.20.203上面长了很多,这个问题其实是reduce 任务启动时机的问题,由于yarn中没有map slot和reduce slot的概念,且ResourceManager也不知道map task和reduce task之间的依赖关系,因此MRAppMaster自己需要设计资源申请策略以防止因reduce task过早启动照成资源利用率低下和map task因分

2014-12-15 23:22:17 5976

原创 hdfs增加ns之后,重启DN报clusterId不匹配错误

在测试环境准备测试FastCopy,因为之前只有一个NS,准备增加一个NS也便于测试,一切都准备妥当之后,重启DN,但是DN死活连接不上新的NN,报以下错误:

2014-12-09 22:23:58 2925

原创 reduce端缓存数据过多出现FGC,导致reduce生成的数据无法写到hdfs

reduce端缓存数据过多出现FGC,导致reduce生成的数据无法写到hdfs:搜索推荐有一个job,1000多个map,200个reduce,运行到最后只剩一个reduce(10.39.6.130上)的时候,出现以下异常,导致job失败。

2014-12-04 17:28:01 6643

原创 mac 安装jdk1.7出现Missing tools.jar解决方案

$ cd /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/$ sudo mkdir Classes$ sudo ln -s ../jre/lib/rt.jar classes.jar

2014-12-03 22:52:51 3128

原创 hadoop1.0 TaskTracker因为分布式缓存导致内存泄露的一次问题排查

hadoop1.0 TaskTracker因为分布式缓存导致内存泄露的一次问题排查

2014-11-29 18:36:18 2040

原创 rsync安全配置

rsync的部署我这里就不讲了,本文主要是讲怎么通过用户名和密码访问rsync

2014-11-27 12:59:28 3899

原创 SVN中branch的合并和打patch(2)

前一篇文章讲了svn的branch和trunk合并方法,本文会讲更简单的合并方式:

2014-11-21 16:14:54 2119

原创 SVN中branch的合并和打patch(1)

最近要在hadoop2.4上面上线hdfs raid,但是之前hdfs raid是作为svn 的branch开发的,领导希望通过patch的方式将hdfs raid功能打进trunk里面去,这里涉及到svn branch和trunk的合并问题,以下是hdfs raid 打patch的具体过程。

2014-11-20 11:40:39 3167

原创 hive报lzo Premature EOF from inputStream错误

今天dw组同事发邮件说有一个问题让帮解决一下,他们自己没能搞得定,以下问题解决过程:

2014-11-18 17:36:58 6870 1

原创 java进程调用外部程序时fork()+exec()分析

java进程要qi'dRuntime.getRuntime().exec(cmd) 的执行流程分析继续上网查,大概意思是Java程序调用外部程序时可能需要分配跟父进程同等大小的内存。这就奇怪了,比如说,我随便调用一下ls命令,也需要很多内存吗?肯定是Java调用外部程序的接口里处理比较特殊。嗯,刚好JDK也开源,看看源码去。分析SUN JDK 1.5 SRC,找到Runti

2014-10-15 18:44:03 5750

原创 Linux shell脚本中调用另一个shell(exec、source、fork)

fork   使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent process,但 parent process 的环境是不会因 child process 的改变而改变的.例:./my.shsource

2014-10-15 18:13:29 7741

转载 Yarn简单介绍及内存配置

在这篇博客中,主要介绍了Yarn对MRv1的改进,以及Yarn简单的内存配置和Yarn的资源抽象container。我么知道MRv1存在的主要问题是:在运行时,JobTracker既负责资源管理又负责任务调度,这导致了它的扩展性、资源利用率低等问题。之所以存在这样的问题,是与其最初的设计有关,如下图:从上图可以看到,MRv1是围绕着MapReduce进行,并没有过多地考虑以后出现的

2014-10-14 18:40:11 1233

原创 hive建表没使用LZO存储格式,但是数据是LZO格式时遇到的问题

今天微博大数据平台发邮件来说,他们有一个hql运行失败,但是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下,最后找到了问题的原因,以下是分析过程

2014-10-13 16:30:53 2844

原创 distcp导致个别datanode节点数据存储严重不均衡分析

hadoop2.4生产集群已经运行一段时间了。由于大量的hadoop1.0上面的应用不断迁移过来,刚开始事hdfs这边还没有出现多少问题,随着时间的推移,最近发现个别的datanode节点上面的磁盘空间剩余严重不足,既集群数据存储严重不均衡,很多DN节点分明还有很多存储空间,而个别DN节点存储空间则出现严重不足的情况。后来经过分析,发现这些空间严重不足的节点上面,都运行了distcp作业的map任务,distcp是一个纯粹拷贝数据的job,一结合hdfs数据副本分配策略一分析,终于找到了问题所在:原来是因为

2014-10-11 13:14:04 3484

原创 hadoop2.0的datanode多目录数据副本存放策略

在hadoop2.0中,datanode数据副本存放磁盘选择策略有两种方式:第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.java第二种是选择可用空间足够多的磁盘方式存储,实现类:AvailableSpaceVolumeChoosingPolicy.java

2014-10-11 12:57:25 8681

原创 hive使用python脚本导致java.io.IOException: Broken pipe异常退出

反垃圾rd那边有一个hql,在执行过程中出现错误退出,报java.io.IOException: Broken pipe异常,hql中使用到了python脚本,hql和python脚本近期没有人改过,在10.1号时还运行正常,但是在10.4号之后运行就老是出现相同的错误,而且错误出现在stage-2的reduce阶段,gateway上面的错误提示如下:

2014-10-10 16:16:27 8297

转载 java.net.SocketException四大异常解决方案

java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题。希望大家有所帮助。那么我们就来看看有关java.net.SocketException的相关知识。第1个异常是 java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new Server

2014-10-09 21:49:00 2073

原创 yarn状态机可视化

YARN中实现了多个状态机对象,包括ResourceManager中的RMAppImpl、RMApp-AttemptImpl、RMContainerImpl和RMNodeImpl,NodeManager中的ApplicationImpl、ContainerImpl和LocalizedResource,MRAppMaster中的JobImpl、TaskImpl和TaskAttemptImpl等。为了

2014-10-09 15:51:20 2915

转载 Prestodb概述及性能测试

概述内容(1)简介(2)Hive and Prestodb, comparison of functionality(3)Hive and Prestodb, comparison of performance (1)简介Presto是由facebook开发的一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析。它支持标准的ANSI

2014-10-09 12:31:06 4996

转载 Presto:Facebook的分布式SQL查询引擎

背景Facebook是一家数据驱动的公司。 数据处理和分析是Facebook为10亿多活跃用户开发和交付产品的核心所在。 我门拥有世界上最大的数据仓库之一,存储了大约 300PB 以上的数据。 这些数据被一系列不同种类的程序所使用, 包括传统的数据批处理程序、基于图论的数据分析[1]、机器学习、和实时性的数据分析。分析人员、数据科学家和工程师需要处理数据、分析数据、不断地改善我们的

2014-10-09 11:28:52 1864

原创 hive任务卡在个别reduce的问题分析

最近微博有一个任务需要使用日曝光表做统计,发现这个任务很容易在stage1卡在reduce100%阶段不动,发邮件过来让帮找一下问题或者优化一下,和同事一起分析了一下原因,以下是分析过程:

2014-09-29 10:43:23 11827

原创 广告作业单行1000万数据量处理超时分析

以下是分析ads的单⾏行数据量超过1000万时,map任务出现600s time out的问题:

2014-09-22 22:41:27 1384 1

原创 hive on spark部署

本文档相关软件的版本:spark-1.0.2、hadoop2.4.0和hive-0.13.0一、编译打包1、准备       将 hadoop gateway所使用的 hadoop 相关配置文件(*-site.xml)放到 spark 的代码里的 core/src/main/resources/下进行打包,否则可能会出现找不到rm以及 nn 等情况。    参考文档:《sp

2014-09-17 15:44:15 2437

原创 授权指定用户 从任何机器可访问 mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)mysql> FLUSH   PRIVILEGES;Query OK, 0 rows affected (0.00 se

2014-09-16 18:06:37 1489

转载 如何使用bloomfilter构建大型Java缓存系统

背景在如今的软件当中,缓存是解决很多问题的一个关键概念。你的应用可能会进行CPU密集型运算。你当然不想让这些运算一边又一边的重复执行,相反,你可以只执行一次, 把这个结果放在内存中作为缓存。有时系统的瓶颈在I/O操作上,比如你不想重复的查询数据库,你想把结果缓存起来,只在数据发生变化时才去数据查询来更新缓存。与上面的情况类似,有些场合下我们需要进行快速的查找来决定如何处理新来的请求

2014-09-16 12:17:10 1501

转载 Yarn在Shuffle阶段内存不足问题(error in shuffle in fetcher)

在Hadoop集群(CDH4.4, Mv2即Yarn框架)使用过程中,发现处理大数据集时程序报出如下错误:13/12/02 20:02:06 INFO mapreduce.Job: map 100% reduce 2%13/12/02 20:02:18 INFO mapreduce.Job: Task Id : attempt_1385983958793_0001_r_000000_1

2014-09-15 17:36:40 8981 1

转载 Mac 系统不同jdk版本切换方法

#确认jdk版本/usr/libexec/java_home#会得到下面信息(不同版本显示不一样)/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home#上面是1.7版本jdk,可以使用 -v 标识来获取其他已安装版本jdk,如:系统自带的1.6版本jdk/usr/libexec/jav

2014-09-02 12:38:21 3388

转载 通过 ulimit 改善系统性能

概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的

2014-07-04 18:48:12 1558

oracle 内置sql函数

oracle 内置sql函数 ,内置函数详细说明,

2010-11-24

Oracle中ROWNUM的使用技巧

Oracle中ROWNUM的使用技巧,包括对rownum使用方法的技巧进行了详细说明,值得下载

2010-11-24

java 并发编程教程

java 并发编程 ThreadLocal 内存模型 JDK并发包编程 并发集合 显示锁 数据冲突 死锁

2010-06-17

spring aop 自定义切面示例

spring aop 自定义切面示例 aspectj 需要相应的架包支持

2010-06-17

quartz_job_scheduling_framework_中文版

quartz 中文版 api 任务调度 quartz与WEB应用

2010-03-21

非常漂亮的个人主页模板

个人主页模板 jsp php div css

2010-03-21

HTTP协议详解 学习servlet的必备资料

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2009-10-25

UML类图各种关系详解

UML类图各种关系详解 包括 继承 实现 聚合 等等 一张图道出类之间的各种关系 直观容易

2009-09-09

java 异常详解,java异常分类,创建自己的异常

java 异常详解,java异常分类,创建自己的异常

2009-08-18

servlet 返回 URL

Servlet 中处理 URL,获取表单内以及URL上所有的参数

2009-06-16

空空如也

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

TA关注的人

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