Hadoop
报恩的猫
码农
展开
-
taskTracker和jobTracker 启动失败
2011-01-05 12:44:42,144 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.lang.RuntimeException: Not a host:port pair: localat org.apache.hadoop.net.NetUtils.create转载 2013-12-04 18:42:30 · 1164 阅读 · 0 评论 -
[Hadoop源码解读](四)MapReduce篇之Counter相关类
当我们定义一个Counter时,我们首先要定义一枚举类型:[html] view plaincopyprint?public static enum MY_COUNTER{ CORRUPTED_DATA_COUNTER, NORMAL_DATA_COUNTER }; 然后,我们就可以在mapper或转载 2014-04-26 11:47:13 · 437 阅读 · 0 评论 -
[Hadoop源码解读](三)MapReduce篇之Job类
下面,我们只涉及MapReduce 1,而不涉及YARN。 当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做。建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置InputF转载 2014-04-26 11:45:22 · 399 阅读 · 0 评论 -
[Hadoop源码解读](二)MapReduce篇之Mapper类
前面在讲InputFormat的时候,讲到了Mapper类是如何利用RecordReader来读取InputSplit中的K-V对的。 这一篇里,开始对Mapper.class的子类进行解读。 先回忆一下。Mapper有setup(),map(),cleanup()和run()四个方法。其中setup()一般是用来进行一些map()前的准备工作,map()则一般承担转载 2014-04-26 10:28:52 · 413 阅读 · 0 评论 -
hadoop reduce 阶段遍历 Iterable 的 2 个“坑”
用代码说话:01package com.test;02 03import java.util.ArrayList;04import java.util.Iterator;05转载 2014-05-18 19:07:18 · 991 阅读 · 0 评论 -
例子:两个表根据productID合并
转载 2014-05-11 01:05:57 · 809 阅读 · 0 评论 -
combiner
在某些情况下,允许中间结果key重复会占据相当的比重,并且用户定义的reduce函数满足结合律和交换律.一个很好的例子就是在2.1部分的词统计程序.因为词频率倾向于一个zipf分布(齐夫分布),每个map任务将产生成百 上千个这样的记录.所有的这些计数将通过网络被传输到一个单独的reduce任务,然后由reduce函数加在一起产生一个数 字.我们允许用户指定一个可选的combiner函数,转载 2014-05-17 09:35:42 · 627 阅读 · 0 评论 -
configuration默认设置
所以 上面的configuration的set可以省略,但是也可以自己改变设置,如下所示:原创 2014-05-10 13:33:24 · 1843 阅读 · 0 评论 -
合并文档
资源文件file1hadooptesthelloword资源文件file2happybirthdaythisisatest最终的结果hadooptesthellowordhappybirthdaythisisa转载 2014-05-16 18:46:01 · 441 阅读 · 0 评论 -
[Hadoop源码解读](五)MapReduce篇之Writable相关类
原文地址前面讲了InputFormat,就顺便讲一下Writable的东西吧,本来应当是放在HDFS中的。 当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。Writable是Hadoop的序列化格式,Hadoop定义了这样一个Writable接口。[html] view转载 2014-04-26 12:40:15 · 436 阅读 · 0 评论 -
[Hadoop源码解读](六)MapReduce篇之MapTask类
MapTask类继承于Task类,它最主要的方法就是run(),用来执行这个Map任务。 run()首先设置一个TaskReporter并启动,然后调用JobConf的getUseNewAPI()判断是否使用New API,使用New API的设置在前面[Hadoop源码解读](三)MapReduce篇之Job类 讲到过,再调用Task继承来的initialize()方法初始化这个tas转载 2014-04-26 12:42:17 · 467 阅读 · 0 评论 -
Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:
ubuntu中取消文件夹或文件等右下角一把锁的标志方法:sudo chmod -R 777 路径(文件夹或文件)即:对文件递归做改变权限为可读可写可运行转载 2014-05-03 16:56:28 · 774 阅读 · 0 评论 -
Why there are no job running on hadoop
Using hadoop1.3.0. I ran the example WordCount correctly in eclipse. But when I enter localhost:50030, it said running jobs and retired jobs were both none. The truth was I had already gotten the corr转载 2014-05-14 19:41:44 · 459 阅读 · 0 评论 -
报错:out of memory java heap space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域转载 2014-05-05 12:11:05 · 1034 阅读 · 0 评论 -
关于Cascading
Cascading是一个开源的Java库和应用程序编程接口(API),它为MapReduce提供了一个抽象层。它允许开发者构建出能在Hadoop集群上运行的复杂的、关键任务的数据处理应用。 Cascading项目始于2007年夏天。它的第一个公开版本,即版本0.1,发布于2008年1月。版本1.0发布于2009年1月。从该项目的主页http://www.cascading.org/可以下转载 2014-05-21 10:33:44 · 1162 阅读 · 0 评论 -
SequenceFileInputFormat区别TextInputFormat
java.lang.Object org.apache.hadoop.mapreduce.InputFormat org.apache.hadoop.mapreduce.lib.input.FileInputFormat org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat转载 2014-05-19 16:33:02 · 3462 阅读 · 0 评论 -
[Hadoop源码解读](一)MapReduce篇之InputFormat
原文地址:http://blog.csdn.net/posa88/article/details/7897963转载 2014-04-26 10:21:42 · 390 阅读 · 0 评论 -
数据去重
1、数据去重"数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。1.1 实例描述对数据文件中的数据进行去重。数据文件中的每行都是一个数据。样例输入如下所示:1)file1:2012-转载 2014-05-17 12:51:58 · 4418 阅读 · 0 评论 -
Hadoop提供的reduce函数中Iterable 接口只能遍历一次的问题
今天在写MapReduce中的reduce函数时,碰到个问题,特此记录一下: void reduce(key, Iterablevalues,...){ for(* v:values) { //做第一遍遍历 } for(* v:values) { //做第二遍遍历转载 2014-05-18 17:00:17 · 1385 阅读 · 0 评论 -
多输入路径
目前为止知道MapReduce有三种路径输入方式。1、第一种是通过一下方式输入:FileInputFormat.addInputPath(job, new Path(args[0]));FileInputFormat.addInputPath(job, new Path(args[1]));FileInputFormat.addInputPath(job,转载 2014-05-18 14:35:49 · 563 阅读 · 0 评论 -
hadoop 一些文件操作
FileSystem创建文件夹原创 2014-05-09 14:55:58 · 464 阅读 · 0 评论 -
组合式+迭代式+链式 MapReduce
1.迭代式mapreduce一些复杂的任务难以用一次mapreduce处理完成,需要多次mapreduce才能完成任务,例如Pagrank,Kmeans算法都需要多次的迭代,关于mapreduce迭代在mahout中运用较多。有兴趣的可以参考一下mahout的源码。在map/reduce迭代过程中,思想还是比较简单,就像类似for循环一样,前一个mapreduce的输出结果,作为下一个ma转载 2014-05-08 18:24:38 · 469 阅读 · 0 评论 -
【hadoop】ssh localhost 免密码登陆(图解)
假设系统中有用户test,属于用户组test,1. 首先确认能否不输入口令就用ssh登录localhost:$ ssh localhost输出如下所示:2. 如果不输入口令就无法用ssh登陆localhost,执行下面的命令:$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa$ cat ~/.转载 2013-12-04 15:32:20 · 978 阅读 · 0 评论 -
hadoop命令大全
启动与关闭启动Hadoop1. 进入HADOOP_HOME目录。2. 执行sh bin/start-all.sh关闭Hadoop1. 进入HADOOP_HOME目录。2. 执行sh bin/stop-all.sh文件操作Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。查看文件列表查看hdfs中/user/admin转载 2014-05-05 17:07:01 · 512 阅读 · 0 评论 -
hadoop第一个例子WordCount
import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import or转载 2013-12-05 17:00:52 · 694 阅读 · 0 评论 -
NameNode备份策略以及恢复方法
一、dits和fsimage 首先要提到两个文件edits和fsimage,下面来说说他们是做什么的。集群中的名称节点(NameNode)会把文件系统的变化以追加保存到日志文件edits中。当名称节点(NameNode)启动时,会从镜像文件 fsimage 中读取HDFS的状态,并且把edits文件中记录的操作应用到fsimage,也就是合并到fsimage中去。合并后转载 2014-05-05 16:52:53 · 924 阅读 · 0 评论 -
Hadoop0.20.203.0在关机重启后,namenode启动报错(/dfs/name is in an inconsistent state)
Hadoop0.20.203.0在关机重启后,namenode启动报错:[plain] view plaincopyprint?2011-10-21 05:22:20,504 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /tmp/hadoop-fzuir/dfs转载 2014-04-18 11:06:37 · 571 阅读 · 0 评论 -
普通用户无法登陆SSH问题
Linux正常情况下普通用户是可以登陆SSH的,除非系统管理员作了修改,如果没有修改的情况无法登陆可以尝试以下方法解决:转载 2014-04-17 21:40:08 · 22324 阅读 · 1 评论 -
SSH无密码验证可能出现的问题
雪影工作室版权所有,转载请注明【http://blog.csdn.net/lina791211】一、安装和启动SSH协议假设没有安装ssh和rsync,可以通过下面命令进行安装。sudo apt-get install ssh 安装SSH协议sudo apt-get install rsync service sshd restart 启动服务转载 2014-04-18 10:25:29 · 1548 阅读 · 0 评论 -
eclipse maven plugin 插件 安装 和 配置
环境准备:eclipse(Helios) 3.6maven 3.0.4maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个。 首先去官网下载 Maven:http://www.apache.org/dyn/closer.cgi转载 2014-05-03 14:44:19 · 388 阅读 · 0 评论 -
HDFS详解
HDFS体系结构中有两类节点,一类是NameNode,又叫"元数据节点";另一类是DataNode,又叫"数据节点"。这两类节点分别承担Master和Worker具体任务的执行节点。 1)元数据节点用来管理文件系统的命名空间 其将所有的文件和文件夹的元数据保存在一个文件系统树中。这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(转载 2014-05-04 17:29:56 · 703 阅读 · 0 评论 -
myeclipse配置hadoop开发环境
1、安装Hadoop开发插件 hadoop安装包contrib/目录下有个插件hadoop-0.20.2-eclipse-plugin.jar,拷贝到myeclipse根目录下/dropins目录下。2、 启动myeclipse,打开Perspective: 【Window】->【Open Perspective】->【Other...】->【Map/Reduce】->【OK】转载 2013-12-04 16:38:19 · 645 阅读 · 0 评论 -
SequenceFile
org.apache.hadoop.io包里的SequenceFile类提供了高效的二进制文件格式,它经常用于MapReduce作业的输出。尤其是当作业的输出被当做另一个作业的输入时。SequenceFile有如下几个优点:‹ 作为二进制文件,它们本质上比文本文件更为紧凑‹ SequenceFile支持不同层面的可选压缩,也就是说,可以对每条记录或整个split进行压缩‹转载 2014-05-05 12:26:31 · 545 阅读 · 0 评论 -
Hadoop如何计算map数和reduce数
Hadoop在运行一个mapreduce job之前,需要估算这个job的maptask数和reducetask数。首先分析一下job的maptask数,当一个job提交时,jobclient首先分析job被拆分的split数量,然后吧job.split文件放置在HDFS中,一个job的MapTask数量就等于split的个数。job.split中包含split的个数由FileInputF转载 2014-05-08 20:24:02 · 698 阅读 · 0 评论 -
链式mapreduce
在hadoop 中一个Job中可以按顺序运行多个mapper对数据进行前期的处理,再进行reduce,经reduce后的结果可经个经多个按顺序执行的mapper进行后期的处理,这样的Job是不会保存中间结果的,并大大减少了I/O操作。例如:在一个Job中,按顺序执行 MAP1->MAP2->REDUCE->MAP3->MAP4 在这种链式结构中,要将MAP2与REDUCE看成这个MAPRE转载 2014-05-08 19:22:00 · 697 阅读 · 0 评论 -
eclipse运行wordcount
使用eclipse连接hadoop失败情况Mar 16, 2014 4:13:32 PM org.apache.hadoop.ipc.Client$Connection handleConnectionFailureINFO: Retrying connect to server: vincent/192.168.56.101:9000. Already tried 0 time(s);转载 2014-04-23 13:10:29 · 465 阅读 · 0 评论 -
MapReduce工作原理图文详解
1.MapReduce作业运行流程下面贴出我用visio2010画出的流程示意图: 流程分析:1.在客户端启动一个作业。2.向JobTracker请求一个Job ID。3.将运行作业所需要的资源文件复制到HDFS上,包括MapReduce程序打包的JAR文件、配置文件和客户端计算所得的输入划分信息。这些文件转载 2014-04-23 10:54:27 · 408 阅读 · 0 评论 -
第一个WordCount类运行
import java.io.IOException;import java.util.*;import org.apache.hadoop.fs.Path;import org.apache.hadoop.conf.*;import org.apache.hadoop.io.*;import org.apache.hadoop.mapreduce.*;import org转载 2014-04-22 21:26:22 · 431 阅读 · 0 评论 -
hadoop打jar包
1.jar打包命令jar -cvf xx.jar *.* 说明一下:*.*表示把当前目录下面以及子目录的所有class都打到这个xx.jar里。-cvf的含义,可以自己去用jar命令去查看如果要单独对某个或某些class文件进行打包,可以这样:jar -cvf xx.jar Foo.class Bar.class 2.运行jarjava -jar xx.jar转载 2014-04-22 21:15:11 · 1322 阅读 · 0 评论 -
ubuntu下安装maven
1.首先到Maven官网下载安装文件,下载文件为apache-maven-3.1.1-bin.tar.gz2.进入下载文件夹,找到下载的文件,运行如下命令解压tar -xvf apache-maven-2.2.1-bin.tar.gz解压后的文件夹名为maven3.使用mv命令将apache-maven-3.0.3文件夹拷贝到自己指定的文件夹,比如/usr/loc转载 2014-04-21 21:44:25 · 530 阅读 · 0 评论