
hadoop
zhengbo0
这个作者很懒,什么都没留下…
展开
-
代码如何提交到JobTracker的?
下面的代码把Job提交给了JobTracker运行 在Job源码中,看一下submit()方法的实现 在submit()实现中,有两个核心操作,一个是连接到JobTracker,一个是提交作业。 连接JobTracker操作实际上是实例化一个JobClient。 看一下JobClient的构造方法。在构转载 2014-08-07 10:13:16 · 706 阅读 · 0 评论 -
Mapper过程中Combiner的作用
我们可以带着下面问题来阅读 为什么需要在Mapper端进行归约处理? 为什么可以在Mapper端进行归约处理? 既然在Mapper端可以进行归约处理,为什么在Reducer端还要处理? 我们知道,MapReduce是分为Mapper任务和Reducer任务,Mapper任务的输出,通过网络传输到Reducer任务端,作为输入。 在Reducer任务中,通常做的事情是对转载 2014-07-31 17:47:54 · 1064 阅读 · 0 评论 -
HDFS的写数据过程分析
HDFS的写数据过程分析 我们通过FileSystem类可以操控HDFS, 那我们就从这里开始分析写数据到HDFS的过程。 在我们向 HDFS 写文件的时候,调用的是 FileSystem.create(Path path)方法,我们查看这个方法的源码,通过跟踪内部的重载方法,可以找到 [java] view plaincopyprint?转载 2014-07-31 17:30:27 · 574 阅读 · 0 评论 -
分析MapReduce执行过程+统计单词数例子
MapReduce 运行的时候,会通过 Mapper 运行的任务读取 HDFS 中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer 任务会接收 Mapper 任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到 HDFS 的文件中。整个流程如图 Mapper任务的执行过程 每个 Mapper 任务是一个 java 进程,它会读取 HDFS 中的文件,解析转载 2014-07-31 17:18:15 · 923 阅读 · 0 评论 -
指明Mapper数据输出方向的Partitioner
Mapper任务的输出会发送到Reducer任务。如果有多个Reducer任务在运行,那么我们希望所有Mapper任务中的不同分类的数据到不同的Reducer任务去处理。比如按照省份划分的话,需要把所有Mapper任务中同一性别的数据送到同一个Reducer任务中处理,这就要求Mapper任务在输出的时候指定哪些数据是相同分类的,承担这个任务的类就是Partitioner类。默认情况下,框架提供了转载 2014-08-07 09:54:31 · 733 阅读 · 0 评论 -
hadoop 分布式缓存
DistributedCache是Hadoop提供的文件缓存工具,它能够自动将指定的文件分发到各个节点上,缓存到本地,供用户程序读取使用。它具有以下几个特点:缓存的文件是只读的,修改这些文件内容没有意义;用户可以调整文件可见范围(比如只能用户自己使用,所有用户都可以使用等),进而防止重复拷贝现象;按需拷贝,文件是通过HDFS作为共享数据中心分发到各节点的,且只发给任务被调度到的节点。本文将介绍Di转载 2014-08-07 11:26:47 · 622 阅读 · 0 评论 -
hbase shell删除键不听使唤
用Xshell登陆linux主机后,在hbase shell下死活不能使用backspace和delete删除误输的指令,只得不停退出,重登,仔细输。。又错了,再退出,再登,仔细输。。。又错了。。。又错了。。。。。又错了。。。。。。。悲剧。。。。。 摸索了一下,在File->Properties->Terminal->Keyboard下,把DELETE/BACKSPACE key sequenc转载 2014-08-13 17:43:44 · 1934 阅读 · 2 评论 -
hadoop pig 安装
1.先从官网下载pig,我使用的版本是pig-0.11.1.tar.gz,放到linux的/usr/local目录下; 2.执行命令 tar -zxvf pig-0.11.1.tar.gz,然后运行命令 mv pig-0.11.1 pig重命名为pig; 3.运行命令vi /etc/profile打开profile文件,在文件/etc/profile中设置环境变量PIG_HOME,并把转载 2014-08-25 23:32:17 · 664 阅读 · 0 评论 -
HBase的伪分布模式安装
HBase是依赖Hadoop的数据存储系统,可以实现大数据(过亿条记录)的存储,进行并行化处理。在特定的场景下HBase有自己的用武之地。 下面讲述如何进行伪分布模式安装 1.设置环境变量 我使用的HBase版本是hbase-0.94.7-security.tar.gz,安装在机器hadoop0的/usr/local目录下。首先解压缩、重命名、设置环境变量HBASE_HOME.转载 2014-08-12 23:38:51 · 684 阅读 · 0 评论 -
通过一个例子了解MapReduce
写MapReduce程序的步骤: 把问题转化为MapReduce模型;设置运行参数;写map类;写reduce类; 例子:统计单词个数 Map的任务是将内容用“ ”分开,然后每个都对应1,Reduce将相同的统计起来 1,Map端:一行行读文件,程序转化为中间Key/Value。每一个键值对调用一次map函数。 hello you hello转载 2014-07-31 12:31:08 · 545 阅读 · 0 评论 -
HDFS:NameNode、DataNode、SecondaryNameNode
可以一句话描述 HDFS:把客户端的大文件存放在很多节点的数据块中。 HDFS设计原则: 1,文件以块(block)方式存储; 2,通过副本机制提高可靠度和读取吞吐量; 3,每个区块至少分到三台DataNode上; 4,单一NameNode来协调存储元数据; 5,客户端对文件没有缓存机制(No data caching); Name转载 2014-07-31 12:50:11 · 603 阅读 · 0 评论 -
hadoop二次排序流程实例详解
一、概述 MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现的原理以及整个MapReduce框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际转载 2014-08-05 18:08:19 · 896 阅读 · 0 评论 -
Hadoop框架之HDFS的shell操作
既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的shell对文件的操作,如ls、mkdir、rm等。 我们执行以下操作的时候,一定要确定hadoop是正常运行的,使用jps命令确保看到各个hadoop进程。 我们执行命令hadoop转载 2014-07-28 09:32:27 · 586 阅读 · 0 评论 -
Hadoop的MapReduce中多文件输出
Hadoop默认的输出是TextOutputFormat,输出文件名不可定制。hadoop 0.19.X中有一个org.apache.hadoop.mapred.lib.MultipleOutputFormat,可以输出多份文件且可以自定义文件名,但是从hadoop 0.20.x中MultipleOutputFormat所在包的所有类被标记为“已过时”,当前如果再使用MultipleOutputF转载 2014-08-02 13:14:10 · 535 阅读 · 0 评论 -
windows下Eclipse安装hadoop1.1.2插件连接hadoop集群
1、下载Eclipse解压。 2、把hadoop-eclipse-plugin-1.1.2.jar放到eclipse的plugs目录下。 我的hadoop集群用的版本:hadoop1.1.2 hadoop0.20以后的版本的安装目录下contrib/没有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant编译。转载 2014-07-29 00:49:34 · 958 阅读 · 1 评论 -
Hadoop的底层架构——RPC机制
RPC是远程过程调用(Remote Procedure Call),即远程调用其他虚拟机中运行的java object。RPC是一种客户端/服务器模式,那么在使用时包括服务端代码和客户端代码,还有我们调用的远程过程对象。 HDFS的运行就是建立在此基础之上的。本章通过分析实现一个简单的RPC程序来分析HDFS的运行机理。 下面的代码是服务端代码。 public class MyS转载 2014-07-30 09:34:26 · 994 阅读 · 0 评论 -
HDFS体系结构与基本概念
HDFS体系结构与基本概念 我们通过hadoop shell上传的文件是存放在DataNode的block中,通过linux shell是看不到文件的,只能看到block。 可以一句话描述HDFS:把客户端的大文件存放在很多节点的数据块中。在这里,出现了三个关键词:文件、节点、数据块。HDFS就是围绕着这三个关键词设计的,我们在学习的时候也要紧抓住这三个关键词来学转载 2014-07-30 09:41:23 · 671 阅读 · 0 评论 -
HDFS的web接口
HDFS对外提供了可供访问的http server,开放了很多端口,下面介绍常用的几个端口。 50070端口 查看NameNode状态,如图4-59所示。 图4-60 如果读者通过该端口看着这个页面,以为着NameNode节点是存活的。 50075端口 查看DataNode的,如图4-61所示。 图4-62 50090端口转载 2014-07-30 10:22:08 · 6115 阅读 · 0 评论 -
Hadoop安全模式详解及配置
启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结 束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入 安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。 Saf转载 2014-08-04 18:00:03 · 1263 阅读 · 0 评论 -
Hive的安装与使用
hive是一个SQL解析引擎,可以在hive中创建表,执行sql语句。创建的表是存储在hdfs中,执行的sql语句是通过MapReduce执行的。可以通过执行sql语句来代替编写MapReduce作业,太方便了! 1.解压缩、设置环境 hive使用的版本是hive-0.9.0.tar.gz。我们在/usr/local目录下解压缩、重命名 ta -xzvf hive-0.9.转载 2014-08-27 23:13:50 · 406 阅读 · 0 评论