
hadoop
fish_cool
擅长java并发设计与开发(包括多核开发)、java性能调优、java分布式架构与设计、工作流引擎算法、python;对erlang、ada、搜索引擎有浓厚的兴趣,曾从事过数据分析与挖掘(SAS)和hadoop平台相关(hive、sqoop、R、zookeeper、mahout、Hbase等)方面的研究与开发,现阶段负责公司的整个大数据平台的搭建(包括海量实时OLAP查询、离线计算平台、实时计算平台),并朝着各平台封装成产品的方向前进
展开
-
hadoop集群job出现一个奇怪的问题
今天集群的job运行出现了一个奇怪的问题,集群监控如下:通过各个节点的执行状态,日志信息如下:2013-12-20 06:38:49,580 [Main Thread] INFO org.apache.hadoop.mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCal原创 2013-12-20 18:40:56 · 3468 阅读 · 0 评论 -
hadoop运行随记5
Exception in thread "communication thread" Exception in thread "Thread for syncLogs" Exception in thread "Timer for 'ReduceTask' metrics system" Exception in thread "LeaseChecker" java.lang.OutOfMemor原创 2012-11-24 01:12:06 · 2525 阅读 · 0 评论 -
最近hadoop集群维护有感
还没开始写,就有朋友给我评论,总结的简单精辟。不过再怎么困难,填坑的事情,必须有人来做,对公司和对个人都是有益的。 最近折腾一个多礼拜,总算又让hadoop稳定了。我这里主要总结下是两个方面(我这里所指的维护范围更广泛):第一:是运维第二:是开发首先说下运维,在一年的使用中,由于操作系统设置不当所导致的各种异常情况,我都碰到了,而且解决的方案都很简单。对于多数问题来原创 2012-11-23 07:21:00 · 3737 阅读 · 2 评论 -
hadoop运行随记2
Exiting due to:java.lang.OutOfMemoryError: Resource temporarily unavailable in tsStartJavaThread (lifecycle.c:1096).Java heap 1000M reserved, 64M committedPaged memory=18014398494602108K/53350396K原创 2012-11-09 07:42:50 · 1691 阅读 · 0 评论 -
hadoop运行随记4
Exception in thread "Thread for syncLogs" java.lang.OutOfMemoryError: getNewTla at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:232) at java.lang.StringCoding.encode(StringCoding.ja原创 2012-11-20 07:28:27 · 2044 阅读 · 8 评论 -
hadoop运行随机3
最近集群运行日志发现,有个任务运行出现下面的报错信息:org.apache.hadoop.io.SecureIOUtils$AlreadyExistsException: EEXIST: File exists at org.apache.hadoop.io.SecureIOUtils.createForWrite(SecureIOUtils.java:167) at org.apac原创 2012-11-19 11:14:02 · 1969 阅读 · 4 评论 -
Sqoop导入数据到MySql时的java.util.NoSuchElementException异常
报错信息:11/08/05 10:51:22 INFO mapred.JobClient: Running job: job_201108051007_001011/08/05 10:51:23 INFO mapred.JobClient: map 0% reduce 0%11/08/05 10:51:36 INFO mapred.JobClient: Task Id : attem转载 2012-11-28 16:22:28 · 3322 阅读 · 0 评论 -
hadoop运行时datanode突然挂掉
今天检查发现有台datanode的节点挂掉,报错信息如下:2012-10-31 01:06:37,661 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(192.168.2.29:50010, storageID=DS-257855051-192.168.2.29-50010-134786原创 2012-10-31 21:47:14 · 7425 阅读 · 12 评论 -
hadoop运行随记
最近随着统计指标的计算任务增多,很多问题都慢慢的浮现出来,后面会对最近的问题进行总结和归纳。 待续…………原创 2012-10-30 22:29:52 · 771 阅读 · 3 评论 -
hadoop配置运行错误总结(1)
感觉这位兄台总结还蛮好的,所以特把这两篇转帖过来,其中第十一点总结还是来自我的博客总结,嘿嘿。 新手搞hadoop最头疼各种各样的问题了,我把自己遇到的问题以及解决办法大致整理一下先,希望对你们有所帮助。一、hadoop集群在namenode格式化(bin/hadoop namenode -format)后重启集群会出现如下Incompatible namespaceIDS i转载 2012-10-30 17:55:22 · 6536 阅读 · 0 评论 -
hadoop集群运行异常故障描述
今天上午在正常操作hadoop的时候,突然发现所有的节点都连不上,然后在hadoop的简单管理页面上所有节点都是Dead Nodes。检查各节点日志发现:namenode和jobtracker都连不上了,各节点报错信息如下:java.net.ConnectException: Call to master/XXX.XXX.XXX.XXX:XXXX failed on connection原创 2012-10-22 11:36:00 · 2276 阅读 · 3 评论 -
hadoop配置运行错误总结(2)
十二、如果遇到如下错误:FAILED java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:***就是URI里边出现了不允许出现的字符,比如冒号:之类的,操作系统不允许的文件命名字符。详细的可以根据提示的部分(星号部分)来进行grep匹配查看。消除转载 2012-10-30 17:46:32 · 5435 阅读 · 5 评论 -
Eclipse下同一个项目如何适应多语言
目前在开发过程中,同一个项目需要使用到多个语言的问题,如果创建不同的项目有需要进行整合,非常不方便,后来想如何在同一个项目下进行多语言交互式开发。通过对eclipse的研究找到了相应的解决方式,特分享之。为什么有这样的想法,是因为在使用的hive过程中,针对不同的业务场景,有java代码编写udf,有python代码处理脚本等,如果分成不同的项目进行,在后期进行整合有觉得不方便,如何就原创 2012-10-15 14:54:28 · 3550 阅读 · 0 评论 -
hadoop节点中不关闭防火墙体验
最近新增节点后,导致相关运行程序出现异常。检查下来发现,一个很简单的问题导致,有一个节点运维人员忘记关闭防火墙了。如果不关闭防火墙,有以下几种情况出现:第一:hdfs的web管理页面,打不开该节点的文件浏览页面第二:后台运行脚本(HIVE的),会出现莫名其妙的假死状态第三:在删除和增加节点的时候,会让数据迁移处理时间更长,甚至不能正常完成相关操作第四:不管你做任何操作,都是原创 2012-09-21 07:56:28 · 4359 阅读 · 0 评论 -
Hadoop生态图谱
当下Hadoop已经成长为一个庞大的体系,貌似只要和海量数据相关的,没有哪个领域缺少Hadoop的身影,下面是一个Hadoop生态系统的图谱,详细的列举了在Hadoop这个生态系统中出现的各种数据工具。这一切,都起源自Web数据爆炸时代的来临数据抓取系统 - Nutch海量数据怎么存,当然是用分布式文件系统 - HDFS数据怎么用呢,分析,处理MapReduce框架,让你编写代码来实现对大转载 2012-10-12 17:53:12 · 1336 阅读 · 0 评论 -
Ubuntu下编译安装R全记录
Ubuntu下安装R很方便,可以在软件管理中心搜索r-base直接安装,也可以将CRAN的相关目录添加到源,然后通过apt-get安装:1sudo apt-get install r-base 不过如果想清楚地知道R安装过程中的细节并控制相关的设置,可以采用手工编译.tar.gz的方式安装。 首先需要到CRAN上下载R的转载 2012-10-12 16:57:34 · 3820 阅读 · 0 评论 -
hadoop节点管理体验
最近在做些节点增加、删除操作,以下步骤都是亲自操作,并验证过没有什么问题(hadoop版本1.0.3)hadoop增加节点操作前提操作系统环境已经成功安装完成,步骤如下:第一: master主机里的$HADOOP_HOME/conf下,修改slaves文件,增加新增节点主机名第二:配置免登录设置第三:新增节点启动datanode和tasktracker两个进程原创 2012-09-18 15:51:31 · 2323 阅读 · 0 评论 -
hadoop mapreduce执行流程
我们以wordcount为例,假设有个6400M的文件,100台hadoop机器(准确地说应该是tasktracker机),默认block大小为64M,这样每台执行map的文件刚好是一个64M的block文件(假设这个分发过程已经完成,同时忽略备份数之类的细节),并且我们使用10个reduce任务来归并文件。Hadoop的mapreducer的执行过程如下:这100台机器上面的map都是并转载 2012-09-17 16:22:50 · 727 阅读 · 0 评论 -
关于Resource temporarily unavailable in tsStartJavaThread
解决方案(备案):进程设置限制,修改第二个文件。 /etc/sysctl.conf /etc/security/limits.conf目前已经发现集群里这批机器都没设置,将测试下。在第二个文件里,增加设置内容如下:* soft nproc 131072* hard nproc 131072如果修改无效,必须将这个文件的内容(/etc/security/l原创 2012-11-22 21:19:53 · 1994 阅读 · 0 评论 -
如何在Hadoop中控制Map的数量
很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数决定。在默认情况下,最终input占据了多少block,就应该启动多少个Mapper。如果输入的文件数量巨大,但是每个文件的size都小于HDFS的blockSize,那么会造成启动的Mapper等于文件的数量(即每个文件都占据了一个block),那么很可能造成启动的Mapper数量超出限制而导转载 2012-12-10 16:50:08 · 4381 阅读 · 0 评论 -
hadoop集群上压缩后运行总结
通过一周的努力,整个集群都变成了可压缩各种模式。具体操作:hbase的数据迁移,hive的数据迁移原创 2013-12-04 10:28:48 · 1778 阅读 · 0 评论 -
hadoop任务运行报错记录
org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on/order_closed_compress/_temporary/_attempt_201311152318_5890_m_000065_0/part-m-0006原创 2013-11-29 18:17:40 · 3109 阅读 · 3 评论 -
hadoop再次配置lzo
最近又重新进行了一次配置lzo压缩,步骤如下:安装前,必须的工具: lib* glibc* gcc*ant mvn注意:确定gcc版本,之前网上有人说不能使用超过4.4版本的gcc,我在安装过程中使用的gcc4.1.2的版本,也是正常的 操作系统名称:Linux master 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2原创 2013-11-14 11:06:22 · 3077 阅读 · 0 评论 -
hive使用心得
最近使用hive一个多月下来(终于完成第一期数据分析迁移工作了),当时使用的0.8的版本(现在最新版本是0.8.1),一个多月下来收获很多。从安装环境、调试、开发、业务理解、技术攻关、业务实现等,一一都体验了一把!总的来说,除了目前网上所介绍的常规hive使用和优化外。因为目前hive只支持0.20的相关版本,所以我们的环境还是使用的0.20版本的hadoop来进行搭建。使用hiv原创 2012-02-18 11:45:06 · 23543 阅读 · 11 评论 -
hadoop节点出现了一个异常问题
最近集群有个节点出现一个奇怪的问题,就是jps命令可以看到Child进程,但通过top命令却显示不存在。而且在/proc目录下也没有对应的进程目录,如下图:原创 2013-09-09 11:33:08 · 1806 阅读 · 0 评论 -
hadoop相关参数对集群的影响
随着HBase的上线带来了一些问题,在调整原来参数的过程中,影响到了之前相关任务的执行过程其中就有个参数:mapred.reduce.parallel.copies 当初上线的时候,设置是20。由于后面在对hbase做相关批量导入数据时,将此值修改成6。然后脚本在运行时在reduce阶段,Read timeOut的超时现象。原创 2013-03-21 16:40:42 · 1403 阅读 · 3 评论 -
hadoop在运行job过程中出现了僵尸进程
今天在例行检查集群的时候,发现有两个节点出现了僵尸进程。首先通过ganglia界面发现情况如下图:一直会有系统进程在运行。登录到其中一台机器发现,有个任务Child没有退出(通过jps这个命令查看)。查看当前这个进程的运行状态如下图:证明确实出现了僵尸进程。然后将此僵尸进程杀掉后,节点运行正常如下图:原创 2013-02-06 15:06:17 · 2133 阅读 · 3 评论 -
今天运行hive导致sql运行不起来
今天出现了一个怪问题,就是hive在运行几个SQL的时候,始终无法正常运行,导致方法阻塞,然后CPU也100%。通过打印几个进程的方法栈发现:"Thread-8" id=20 idx=0x50 tid=3647 prio=5 alive, native_blocked at org/apache/hadoop/mapred/lib/CombineFileInputFormat.g原创 2013-01-28 16:16:58 · 1944 阅读 · 10 评论 -
节点web页面报404错误
最近年前集群事情真多,出现了web页面无法浏览一个节点的问题。如下图: 当前节点下面出现了一个build目录。里面有org/apache/hadoop这样的目录导致browseDirectory.jsp查找不到,删除目录,重启服务后,问题解决了。还好此问题是开发环境出现。原创 2013-01-29 15:28:38 · 1091 阅读 · 0 评论 -
hadoop之java.net.NoRouteToHostException: No route to host
今天有同事在搭建另一个hadoop集群的时候,又出现了此问题,很简单。这里简单做个笔记。就是防火墙没关闭的问题导致。但是一定要注意:要切换成root用户才能有效关闭防火墙。 如下图:原创 2013-01-29 15:21:39 · 10182 阅读 · 0 评论 -
namenode的机器也变成了tasktracker节点
今天因为比较紧急事情,不得已重启了集群,在一段时间后,通过打开web的50030的端口,发现master机器莫名其妙的成了一个tasktracker节点,但是检查过master的配置,确实没有将master配置成tasktracker的信息。很奇怪,见下图:原创 2013-01-28 16:38:39 · 878 阅读 · 2 评论 -
转载一篇关于EOFException异常的描述
I’ve noticed that occasionally a data node will be reported in the namenode web ui as “dead” for a minute or two and then move back to live. This morning I found this in the data node log 2011-08-转载 2012-12-22 16:57:02 · 3658 阅读 · 0 评论 -
java.io.EOFException: while trying to read 65557 bytes
最近在内网环境跑大量数据时,datanode日志出现以下异常: 2012-12-20 15:40:32,122 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(10.200.187.193:50010, storageID=DS-1456135989-10.200.187.193-500原创 2012-12-20 15:38:15 · 4672 阅读 · 6 评论 -
hadoop在对数据压缩时出现的问题
最近在对数据做压缩时,报了数组太大,导致内存不够的错误:2012-12-19 13:15:03,866 FATAL org.apache.hadoop.mapred.Child: Error running child :java.lang.OutOfMemoryError: allocLargeObjectOrArray: [I, size 3600016at org.apache.ha原创 2012-12-24 13:22:28 · 1894 阅读 · 0 评论 -
关于hive的ClosedByInterruptException异常新动向3
通过这两天的不断研究源码,发现与这个相关的hadoop源码是DFSClient、DistributedFileSystem、JobInProgress、JobClient、JobTracker等与hive相关的源码是CliDriver、Driver、ExecDriver、TaskRunner、Task、MoveTask等。之前设置了暂停100毫秒的方式后,后来也测试出将严重影响MR运行的效原创 2012-07-31 17:16:57 · 2507 阅读 · 0 评论 -
hadoop运行随记4
今天生产环境中,有一个节点的tasktracker进程退出了,从日志发现,退出前有以下频繁报错信息:2012-12-25 05:36:51,279 WARN org.apache.hadoop.mapred.TaskTracker: Exception while localization ENOENT: No such file or directory at org.ap原创 2012-12-25 14:09:31 · 1470 阅读 · 0 评论 -
Best Prctices for Selecting Apache Hadoop Hardware
初次翻译,如有不通顺的地方,请多多包涵。我们被问过很多关于怎样选择Apache Hadoop工作节点硬件的问题。我在yahoo这段期间,我们买了很多机器(6*2TB SATA 硬盘、24G内存、8核CPU和双网卡配置)。这已经证明是最好的配置。今天我还看到的系统配置是(12*2TB SATA 硬盘,48G的内存、8核CPU和双网卡配置。我们在今年不久将增加到3TB的硬盘。 What翻译 2012-08-13 14:33:08 · 947 阅读 · 0 评论 -
hadoop相关知识点新总结
根据我对hadoop应用的理解,对之前的总结进行了完善,都是些个人看法和总结。我认为整个框架包含如下几个部分:第一部分:hadoop文件系统第二部分:编写自己的MR计算实现第三部分:hadoop的扩展性第四部分:集群管理第五部分:调度系统第六部分:第三方工具使用 第一部分各知识点分布:第一:主要掌握各文件系统的具体实现和使用第二:文件系统基本操作原创 2012-09-11 15:44:59 · 1447 阅读 · 0 评论 -
数据统计与挖掘的通用设计原则
目前已经在基于hadoop平台上做数据统计与挖掘快一年了,这里将对做数据统计时的一些通用设计要求做总结(跟业务无关)。以hive作为工具第一:优先考虑增量计算,其次考虑全量计算。第二:支持重算机制,简单地说就是当数据计算有误时,可以支持重算(也就是说这次的计算结果能正确覆盖上一次的结果)。第三:脚本编写并行化,如果脚本编写没有明显的上下关联的话,优先考虑并行化。第四:脚本中变化原创 2012-07-27 09:43:55 · 813 阅读 · 0 评论 -
导入数据出错
Error initializing attempt_201209191708_14120_m_000000_0:org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find taskTracker/maintain/jobcache/job_201209191708_14120/job.xml in any of原创 2012-09-27 23:10:31 · 2264 阅读 · 9 评论