
hadoop
文章平均质量分 50
iteye_20817
这个作者很懒,什么都没留下…
展开
-
我的一次Hadoop小文件Job优化预研报告
前言 公司有日志排序的需求,目前收集环节会产生大量小文件,目前我们没有使用flume和Hbase,本次优化只涉及HDFS和MapReduce。 关于小文件对Namenode影响,本文不涉及,我们现在使用HAR归档小文件。 本文的结论基于HDFS大量小文件的情况。 一 、开启Jvm重用对Job影响:文件数文件大小JVM重用...原创 2012-02-25 19:51:39 · 141 阅读 · 0 评论 -
ganglia Web前段清除当机节点
ganglia默认如果服务器down机也不会在web前段清除该设备,官方文档介绍的办法如下: 1. 登录中央gmeta和gmond机器2. vi gmond.conf,修改如下,host_dmax默认值为0,86400为1天,即超过1天未汇报数据的节点会从前段清除。 globals { ... host_dmax = 86400 /*secs */ ....}3. ser...原创 2013-05-17 16:32:40 · 263 阅读 · 0 评论 -
ganglia多cluster设置(转)
转自:http://18567.blog.51cto.com/8567/670571 例如有两个集群,cluster1,cluster2cluster1{ test0}cluster2{ test1 test2}gmeta部署在test0上gmeta.conf配置如下:data_source "cluster1" localhostdata_source "cluste...原创 2013-05-18 22:14:24 · 192 阅读 · 0 评论 -
在FlumeNG中如何使用 %{host}占位符(转)
HOW TO USE %{host} ESCAPE SEQUENCE IN FLUME-NGSometimes you may try to aggregate data from different sources and dump it into a common location, say your HDFS. In such a scenario it will b...原创 2012-08-31 10:21:32 · 428 阅读 · 0 评论 -
hive错误记录
系统环境:hadoop CDH3u2hive 0.71 3u4 错误1使用默认的derby数据库,当查询数据库的时候,比如使用 show tables,报错如下: 写道FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Cannot get a connection, pool error C...原创 2012-05-24 19:55:14 · 130 阅读 · 0 评论 -
Hadoop文集收藏
Cloudera ImpalaCloudera‘s Impala(介绍impala架构原理,和hive区别)原创 2013-09-02 09:35:25 · 101 阅读 · 0 评论 -
cloudera standard 4.6试用随笔
前言:第一次试用cloudera manger是2.x版本,现在最新版本是4.6,再次感受 简介和亮点:cloudera standard目前是4.6版本,它包含JDK、cloudera manager、数据库等的合集。cloudera manager取消之前50个安装节点限制,目前无节点限制国际化做的很好,直接就是中文了。遇到错误:主机名映射到内网IP,...原创 2013-09-03 15:44:34 · 105 阅读 · 0 评论 -
Hadoop Pig中Tuple的正确使用方法
在UDF中经常会读取和返回tuple对象,在单元测试中也会使用tuple做数据准备。tuple内部的数据结构是一个ArrayList,它使用方法有两种: 方法一Tuple tuple = TupleFactory.getInstance().newTuple();String line = "xxxxx";tuple.append(line);append方法实际调用Li...原创 2013-10-14 16:15:03 · 372 阅读 · 0 评论 -
Pig写UDF解析XML遇到一诡异错误“ClassNotFoundException”
UDF中使用apache digester做XML解析,代码从原来项目copy过来,单元测试全部通过,但是通过pig调用就报错“ClassNotFoundException: com.chinacache.model.xxxx” ,大概意思是XML解析的时候找不到映射XML节点对应的Java模型,折腾半天,无解!晚上把xml解析使用java dom代替,一切OK。希望能给遇到相同问题的朋友一定帮...原创 2013-10-16 10:11:16 · 165 阅读 · 0 评论 -
cloudera CDH5正式版(与CDH4比较)
要求JDK7以上,JDK6不被支持 基于apache hadoop2.2稳定版 YARN(MR2) 推荐使用(具备生成环境使用条件),MR1和MR2同时被支持 HDFS快照( Snapshots) 集成Spark Resource Manager HA ...原创 2013-11-04 22:14:26 · 448 阅读 · 0 评论 -
Eclipse导入Hadoop源码项目
将Hadoop源码导入Eclipse有个最大好处就是通过 "ctrl + shift + r" 可以快速打开Hadoop源码文件。 第一步:在Eclipse新建一个Java项目 第二步:将Hadoop程序src下core, hdfs, mapred, tools几个目录copy到上述新建项目的src目录 第三步:修改将Java Build Path,删除src,添加...原创 2012-08-09 08:52:53 · 209 阅读 · 0 评论 -
试用flume-ng 1.1
Flume NG 1.x 是Flume 0.9.x的重构版本,基本面目全非了,Master和zookeeper没有了,collector没有了,Web console没有了,只有source (avro:很简单使用;exec:使用shell命令)sink (我用的hdfs)channl这3个组件,俨然从一个分布式系统变成了传输工具。新的架构如下: ...原创 2012-08-03 11:06:49 · 210 阅读 · 0 评论 -
脱离Hadoop的环境下使用Lzo
动机:希望通过Java API将日志行压缩到lzo文件,然后上传到HDFS。因为kevinweil-hadoop-lzo提供了LzopOutpuStream,所以这一切很容易实现,需要注意的是该jar包依赖native code和lzo本身。本人试过Karmasphere的lzo-java项目,该项目用java重写了lzo压缩算法,但是该项目好久不更新,提问没人回,性能也只有原生lzo压缩性能一半...原创 2012-07-24 16:33:48 · 145 阅读 · 0 评论 -
一次故障记录——tasktracker无法启动
发现一台服务器dfs服务正常,但是task服务消失了,登录到服务器执行 restart命令,返回错误“tasktracker dead but pid file exists”。查看tasktracker状态发现未启动,最后通过kill -9干掉了后台挂死进程,再次执行restart命令后OK了。 -- end -- ...原创 2011-11-02 17:09:46 · 261 阅读 · 0 评论 -
远程Hadoop调试——mapreduce函数调试篇
上一次记录了如何调试NN,JT,DT,JT,这次记录为调试mapreduce函数,和前几个应用不同,mapreduce为Child进程,不能直接通过bin/hadoop文件中开启远程调试端口,具体操作如下: 1. 选定一台调试机器,修改mapred-site.xml文件,添加如下配置: <property> <name>mapred.child...原创 2012-03-04 18:18:10 · 317 阅读 · 0 评论 -
hadoop 0.23介绍相关文章
Apache Hadoop 0.23http://www.slideshare.net/hortonworks/apache-hadoop-023 Apache Hadoop 0.23 at Hadoop World 2011http://www.slideshare.net/hortonworks/apache-hadoop-023-hadoop-world-2011 H...原创 2011-11-28 16:52:31 · 139 阅读 · 0 评论 -
用python编写nagios hadoop监控脚本
功能监控dfs使用比例监控datanode 运行情况监控tasktracker 运行情况一、将附件py文件放到nagios的插件目录我centos5.5 64bit机器的目录是“/usr/lib64/nagios/plugins”二、添加命令vi /etc/nagios/objects/commands.cfg define command { ...原创 2011-11-28 17:03:54 · 224 阅读 · 0 评论 -
使用cloudera MRUnit测试你的Mapreduce代码
向大家强烈推荐cloudera的mrunit非常好用,简直可以说太棒了,我的一个略微复杂的MR job每次测试都不够敏捷,有时候使用mock,有时候部署到线上,调试耗时非常巨大,最近开始使用mrunit,有了它,每次只要跑起测试,一起尽在掌控,尽情重构。它可以测试你的Mapper、Reducer以及mapreduce整个运行过程。贴个淘宝QA团队的文章链接写的不错: 《Had...原创 2012-03-08 17:06:14 · 133 阅读 · 0 评论 -
自定义hadoop Writable类型注意事项
1. 实现一个无参构造函数 2. 如果自定义Writable包含hadoop序列化类型(如,Text),则要求初始化它(new Text())。可以在定义的时候初始化,或者在空构造函数进行初始化,否则会在反序列化的时候报空指针异常 ...原创 2012-03-14 17:14:44 · 275 阅读 · 0 评论 -
DFSClient端SocketTimeoutException异常的处理
Failed to connect to /182.x.x.x:50010, add to deadNodes and continuejava.net.SocketTimeoutException: 60000 millis timeout while waiting for channel to be ready for read. ch : java.nio.channels.Socke...原创 2012-04-13 14:50:21 · 1493 阅读 · 0 评论 -
自己编写接口用于获取Hadoop Job conf 信息
Hadoop Job完成后可以设置回调接口,一个自定义的URL,比如我的: http://x.x.x.x/log/notify/stat_job/{jobId}/{jobStatus} 之后我在Servlet中可以拿到jobId,通过jobId,就可以拿到Job对象(RunningJob),代码如下: public static RunningJob ge...原创 2012-04-23 14:33:01 · 166 阅读 · 0 评论 -
Hadoop Pig获取HDFS文件名
A = LOAD 'input' using PigStorage(',','-tagsource'); B = foreach A generate $0; PigStorage构造函数第一个参数是分隔符,第二个参数如果为“-tagsource”则会在A第一列放置文件名信息。 参考:http://pig.apache.org/docs/r0.11.0/api/org/...原创 2013-11-15 08:37:38 · 282 阅读 · 0 评论 -
could only be replicated to 0 nodes instead of minReplication (=1)
一、出现这个错误,先看看DN是不是正常启动并与NN通信,使用如下命令: sudo -u hdfs hadoop dfsadmin -report 二、如果DN已经正常启动,则要hdfs-site.xml文件dfs.replication配置是否大于DN数量,三、如果问题还没有解决,则要检查iptables(开放DN 50010和NN 8020端口)是否正常。 ...原创 2013-11-18 17:02:18 · 696 阅读 · 0 评论 -
寻找Hadoop Job 提交类r的Log4j.properties
名词说明:Hadoop Job 提交类,本文成为Driver 正文: 有时候我们需要在Driver里面写些逻辑代码,需要用到Log4j,但是当使用Hadoop jar xxxx.jar提交mapreduce的时候,发现Driver中的log并没有安装自己预期打印出来。通过打印classpath中log4j.properties文件路径,发现driver运行时,classpath中有多个...原创 2012-11-05 15:16:19 · 204 阅读 · 0 评论 -
cloudera创建私服错误一例
执行“reposync -r cloudera-cdh4 ”报如下错误: ImportError: No module named yum 解决:vi /usr/bin/reposync 将#!/usr/bin/python -tt修改为:#!/usr/bin/python2.4 -tt 可以了。 原因:reposync使用了pyth...原创 2014-02-24 11:41:05 · 124 阅读 · 0 评论 -
搭建cloudera yum私服
一、安装Cloudera yum仓库1. 下载仓库rpm包 centos6 wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm centos 5 wget http://archive.cloudera.com/cd...原创 2014-03-05 11:08:51 · 402 阅读 · 0 评论 -
yum错误“Error in PREUN scriptlet in rpm package ”
打算通过yum安装软件,发展之前有软件残骸。使用yum remove也无效,使用rpm -e也无法删除这个软件包(这个软件包已经损坏)。错误信息:Running Transaction Error in PREUN scriptlet in rpm package hadoop-hdfs-namenode hadoop-hdfs-namenode-2.0.0+1475-1.cdh...原创 2014-03-10 12:07:05 · 2018 阅读 · 0 评论 -
thrift0.9.1简单教程(包含Java服务端和Java、python客户端)
一、Thrift Java服务端和客户端官方网站下载thrift-0.9.1.exe,用于生成代码编写hello.thrift,数据结构描述文件12345namespace java com.test service HelloWorldService { string sayHello(1:stri...原创 2014-04-25 15:55:32 · 428 阅读 · 0 评论 -
(转)PIG 的几种 storage
PIG 的几种 storagePIG 现在除了默认的 PigStorage(对应使用制定分隔符分割的文本格式,默认为 tab) 以外还提供了BinStorage,默认情况下 map/reduce job 的存储方式,用户也可以使用(可以 load 也可以 store),builtin;JsonLoader/JsonStorage,前者需要指定 schema,builtinTex...原创 2013-02-07 10:01:54 · 455 阅读 · 0 评论 -
在Pig中使用Lzo
一、寻找依赖包要在pig下使用lzo,我们需要第三方lib,目前我在使用的是twitter的elephant-bird,项目地址: https://github.com/kevinweil/elephant-bird 你可以自己编译出jar文件,我比较懒直接使用maven库(search.maven.org)中的lib,地址如下: # elephant-bird-pig...原创 2013-03-26 08:41:57 · 179 阅读 · 0 评论 -
Pig学习笔记
计算数据总行数 rows= LOAD '/your/data/path';g= GROUP rows ALL;total_count = FOREACH g GENERATE COUNT(rows);DUMP total_count; world count:a = load '/user/hue/word_count_text.txt'; b = foreach a g...原创 2013-04-02 08:10:23 · 115 阅读 · 0 评论 -
PIG优化配置
写道SET pig.splitCombination true; # 优化小文件处理SET mapred.map.tasks.speculative.execution true; SET mapred.reduce.tasks.speculative.execution true;SET pig.tmpfilecompression = trueSET pig.tmpfilecompres...原创 2013-04-02 09:55:35 · 191 阅读 · 0 评论 -
使用Pig优化mapreduce小文件处理
测试数据:20GB gz数据,文件数4.7万个,大小从上百MB到几MB测试机器:Slave 2台。8core,32GB内存,5 map slot,3 reduce slotJob逻辑:输出文件总行数 使用Pig耗时:12minsjava代码(FileInputFormat):>60 min (开启jvm重用,使用默认FileInputFormat)java...原创 2013-04-02 11:12:09 · 265 阅读 · 0 评论 -
Cloudera Manager的Hadoop配置文件管理
本文基于Cloudera Manager 4.8,以下简称CM 初次使用CM有个困惑: 修改/etc/hadoop/conf目录下配置不会使service instance(如NN、DN、TT、JT等)生效 CM中service instance的配置文件分为服务端和客户端。 服务端文件:/var/run/cloudera-scm-agent/proces...原创 2014-02-11 10:21:01 · 594 阅读 · 0 评论 -
修改cloudera manager管理主机名(转)
I installed the Cloudera Manager 4 on a 1GbE default setup on eth0/bond0 and now I need to use 10GbE or Infiniband IB or 40GbE without the reinstall. How I did it!! The assumptions here are that y...原创 2014-02-10 14:22:47 · 786 阅读 · 0 评论 -
cloudera cdh中hadoop-client包的作用
hadoop-client是为了让开发者可以很方便的使用当前节点hadoop的jar包,ch4版本的hadoop将目录分为“/usr/lib/hadoop-hdfs”、“/usr/lib/hadoop-mapreduce”,“/usr/lib/hadoop-yarn”等多个目录,这样引用jar包也会比较麻烦。通过yum安装hadoop-client后会生成软链接: MRv1:/usr/...原创 2013-11-22 22:12:14 · 975 阅读 · 0 评论 -
Hadoop学习指南
安装配置CDH4(hadoop2.0) 端口CDH4 HA配置官方文档浅谈flume log4j appender部署开发cdh maven仓库 --持续更新原创 2013-11-26 14:26:58 · 95 阅读 · 0 评论 -
hdaoop2.x (CDH4、5)下使用DFS Client(包含HA)
一、不使用HA场景1.1 获取FileSystem(下称FS)方法一: FileSystem fs = FileSystem.get(URI.create("hdfs://<nn_ip>:<nn_port>"), new Configuration()); 1.2 获取FS方法二(★推荐):Configuration conf = n...原创 2013-12-09 16:42:25 · 169 阅读 · 0 评论 -
hadoop1.0中NameNode HA的妥协方案
hadoop1.0没有HA,可以添加NFS做为metadata存储备份,如果NN挂了,可以借助NFS上文件重新建立NN,这样虽然不能实现无间断服务,但可以保障集群数据不丢失。修改hdfs-site.xml配置如下: <property> <name>dfs.name.dir</name> <value>/data/dfs/nn...原创 2013-12-10 16:26:55 · 123 阅读 · 0 评论 -
Hadoop Combiner的几个调用时间点
Combiner是在Map端被执行,共有两个时机会被触发: ① 从环形缓冲器溢写分区文件的时候 ② 合并溢写分区文件的时候 1. 初始化combinerRunner和combineCollectorMapTask.run() ┟ runNewMapper(job, split, umbilical, reporter); ┟...原创 2013-12-20 08:37:31 · 498 阅读 · 0 评论