- 博客(259)
- 资源 (10)
- 收藏
- 关注
原创 一次因为数据问题引起的reduce被卡住streaming作业问题排查
广告产品技术部有一个作业总是卡在某个reduce上,运行了好几个小时也运行不完,经过他们初步排查找不着问题原因,发邮件让我帮看看,我看了一下这个streaming作业是用python实现的,而且听他们描述,3月17之前该作业是没问题的,以下是可能存在问题的地方:
2015-03-21 11:27:05 3715
转载 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 3675 1
原创 hive中使用正则表达式不当导致运行奇慢无比
业务保障部有一个需求,需要用hive实时计算上一小时的数据,比如现在是12点,我需要计算11点的数据,而且必须在1小时之后运行出来,但是他们用hive实现的时候发现就单个map任务运行都超过了1小时,根本没法满足需求,后来打电话让我帮忙优化一下,以下是优化过程:
2015-03-19 13:20:42 4895 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 1237
转载 理解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 989
原创 通过sed和awk获取集群最新挂掉的DataNode信息
由于之前远程桌面不好使,集群出现了missing block的时候没法登陆远程桌面查看是那些节点由于重启导致DataNode进程挂掉。同时简单的用命令hdfs dfsadmin -report查看又不方便,信息量太多,以下是一个用sed和awk实现的简单的脚本:
2015-02-26 10:40:14 1268
原创 hive-0.13固化自定义UDF
之前帮业务方固化过hive-0.7的自定义的UDF,由于现在大部分业务数据都已经迁移到hadoop2.4.0,hive使用的版本是0.13,之前固化的UDF不能用了,让在0.13上面也固化一下,以下是固化过程:
2015-02-06 18:40:08 1894
原创 DistributedRaidFileSystem引起的HDFS RAED不准问题
在测试环境和线上运行相同的hql,而且表对应的数据量都是95G左右,但是发现在测试环境和线上的counter:HDFS RAED不一致,而且差一个数量级,线上只有8G左右,而测试环境达到95G,基本上就是全文件扫描,没有体现出RCFile的优势。
2015-01-18 22:57:19 1438
原创 hadoop2.4.0的distcp引起的问题
最近在支持业务部门将数据从hadoop0.20.203迁移到hadoop2.4.0的时候,distcp报了几个错误,在这里记录一下:
2015-01-06 12:46:14 6693
原创 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 6573 2
原创 hadoop2.4 支持snappy
我们hadoop2,4集群默认不支持snappy压缩,但是最近有业务方说他们的部分数据是snappy压缩的(这部分数据由另外一个集群提供给他们时就是snappy压缩格式的)想迁移到到我们集群上面来进行计算,但是直接运行时报错:
2014-12-22 23:14:07 6345
原创 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 6032
原创 hdfs增加ns之后,重启DN报clusterId不匹配错误
在测试环境准备测试FastCopy,因为之前只有一个NS,准备增加一个NS也便于测试,一切都准备妥当之后,重启DN,但是DN死活连接不上新的NN,报以下错误:
2014-12-09 22:23:58 2973
原创 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 6717
原创 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 3366
原创 hadoop1.0 TaskTracker因为分布式缓存导致内存泄露的一次问题排查
hadoop1.0 TaskTracker因为分布式缓存导致内存泄露的一次问题排查
2014-11-29 18:36:18 2061
原创 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 3198
原创 hive报lzo Premature EOF from inputStream错误
今天dw组同事发邮件说有一个问题让帮解决一下,他们自己没能搞得定,以下问题解决过程:
2014-11-18 17:36:58 6947 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 5809
原创 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 7811
转载 Yarn简单介绍及内存配置
在这篇博客中,主要介绍了Yarn对MRv1的改进,以及Yarn简单的内存配置和Yarn的资源抽象container。我么知道MRv1存在的主要问题是:在运行时,JobTracker既负责资源管理又负责任务调度,这导致了它的扩展性、资源利用率低等问题。之所以存在这样的问题,是与其最初的设计有关,如下图:从上图可以看到,MRv1是围绕着MapReduce进行,并没有过多地考虑以后出现的
2014-10-14 18:40:11 1256
原创 hive建表没使用LZO存储格式,但是数据是LZO格式时遇到的问题
今天微博大数据平台发邮件来说,他们有一个hql运行失败,但是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下,最后找到了问题的原因,以下是分析过程
2014-10-13 16:30:53 2881
原创 distcp导致个别datanode节点数据存储严重不均衡分析
hadoop2.4生产集群已经运行一段时间了。由于大量的hadoop1.0上面的应用不断迁移过来,刚开始事hdfs这边还没有出现多少问题,随着时间的推移,最近发现个别的datanode节点上面的磁盘空间剩余严重不足,既集群数据存储严重不均衡,很多DN节点分明还有很多存储空间,而个别DN节点存储空间则出现严重不足的情况。后来经过分析,发现这些空间严重不足的节点上面,都运行了distcp作业的map任务,distcp是一个纯粹拷贝数据的job,一结合hdfs数据副本分配策略一分析,终于找到了问题所在:原来是因为
2014-10-11 13:14:04 3522
原创 hadoop2.0的datanode多目录数据副本存放策略
在hadoop2.0中,datanode数据副本存放磁盘选择策略有两种方式:第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.java第二种是选择可用空间足够多的磁盘方式存储,实现类:AvailableSpaceVolumeChoosingPolicy.java
2014-10-11 12:57:25 8761
原创 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 8393
转载 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 2107
原创 yarn状态机可视化
YARN中实现了多个状态机对象,包括ResourceManager中的RMAppImpl、RMApp-AttemptImpl、RMContainerImpl和RMNodeImpl,NodeManager中的ApplicationImpl、ContainerImpl和LocalizedResource,MRAppMaster中的JobImpl、TaskImpl和TaskAttemptImpl等。为了
2014-10-09 15:51:20 2965
转载 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 5040
转载 Presto:Facebook的分布式SQL查询引擎
背景Facebook是一家数据驱动的公司。 数据处理和分析是Facebook为10亿多活跃用户开发和交付产品的核心所在。 我门拥有世界上最大的数据仓库之一,存储了大约 300PB 以上的数据。 这些数据被一系列不同种类的程序所使用, 包括传统的数据批处理程序、基于图论的数据分析[1]、机器学习、和实时性的数据分析。分析人员、数据科学家和工程师需要处理数据、分析数据、不断地改善我们的
2014-10-09 11:28:52 1886
原创 hive任务卡在个别reduce的问题分析
最近微博有一个任务需要使用日曝光表做统计,发现这个任务很容易在stage1卡在reduce100%阶段不动,发邮件过来让帮找一下问题或者优化一下,和同事一起分析了一下原因,以下是分析过程:
2014-09-29 10:43:23 12295
原创 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 2463
原创 授权指定用户 从任何机器可访问 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 1537
转载 如何使用bloomfilter构建大型Java缓存系统
背景在如今的软件当中,缓存是解决很多问题的一个关键概念。你的应用可能会进行CPU密集型运算。你当然不想让这些运算一边又一边的重复执行,相反,你可以只执行一次, 把这个结果放在内存中作为缓存。有时系统的瓶颈在I/O操作上,比如你不想重复的查询数据库,你想把结果缓存起来,只在数据发生变化时才去数据查询来更新缓存。与上面的情况类似,有些场合下我们需要进行快速的查找来决定如何处理新来的请求
2014-09-16 12:17:10 1523
转载 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 9102 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 3416
转载 通过 ulimit 改善系统性能
概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的
2014-07-04 18:48:12 1596
HTTP协议详解 学习servlet的必备资料
2009-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人