
Hadoop
文章平均质量分 61
qq_26091271
这个作者很懒,什么都没留下…
展开
-
hadoop源码阅读环境配置
环境及工具如下:1、系统:windows72、eclipse版本:eclipse-jee-mars-1-win323、jdk版本:1.74、maven版本:3.3.35、protoc版本:2.5.06、hadoop:2.7.2这些环境或者工具的下载、安装及使用在网上有丰富的资料,我就不再多提啦,在这儿我只啰嗦一句,那就是如转载 2016-11-14 22:18:05 · 317 阅读 · 0 评论 -
源代码阅读引导
为了帮助读者更好地阅读源代码,笔者特意安排了本节。下面我们分两部分对读者进行指导。1. Hadoop RPCHadoop RPC内部实现位于源代码目录中hadoop-common-project/hadoop-common/src/main/java下的org.apache.hadoop.ipc包中,而YARN对RPC的Protocol Buffers封装则位于hadoop-yar转载 2015-12-27 09:59:16 · 361 阅读 · 0 评论 -
事件驱动带来的变化
在MRv1中,对象之间的作用关系是基于函数调用实现的,当一个对象向另外一个对象传递信息时,会直接采用函数调用的方式,且整个过程是串行的。比如,当TaskTracker需要执行一个Task时,将首先下载Task依赖的文件(JAR包、二进制文件等、字典文件等)、然后执行Task。同时在整个过程中会记录一些关键日志,该过程可用图3-16描述。在整个过程中,下载依赖文件是阻塞式的,也就是说,前一个任务未完转载 2015-12-27 09:45:52 · 619 阅读 · 0 评论 -
YARN服务库和事件库的使用方法(1)
为了说明YARN服务库和事件库的使用方法,本小节介绍一个简单的实例,该实例可看做MapReduce ApplicationMaster(MRAppMaster)的简化版。该例子涉及任务和作业两种对象的事件以及一个中央异步调度器。步骤如下。1)定义Task事件。 public class TaskEvent extends AbstractEventTaskEventType> {转载 2015-12-27 09:43:45 · 289 阅读 · 0 评论 -
YARN事件库
YARN采用了基于事件驱动的并发模型,该模型能够大大增强并发性,从而提高系统整体性能。为了构建该模型,YARN将各种处理逻辑抽象成事件和对应事件调度器,并将每类事件的处理过程分割成多个步骤,用有限状态机表示。YARN中的事件处理模型可概括为图3-14所示。整个处理过程大致为:处理请求会作为事件进入系统,由中央异步调度器(Async-Dispatcher)负责传递给相转载 2015-12-27 09:42:22 · 476 阅读 · 0 评论 -
服务库与事件库
本节介绍服务库和事件库。3.4.1 服务库对于生命周期较长的对象,YARN采用了基于服务的对象管理模型对其进行管理,该模型主要有以下几个特点。将每个被服务化的对象分为4个状态:NOTINITED(被创建)、INITED(已初始化)、STARTED(已启动)、STOPPED(已停止)。任何服务状态变化都可以触发另外一些动作。可通过组合的方式对任意服务进行组合,转载 2015-12-27 09:41:33 · 387 阅读 · 0 评论 -
YARN RPC应用实例(3)
服务端代码放在org.apache.hadoop.yarn.server.api.impl.pb.server包中,且类名为Resource-TrackerPBServerImpl,实现如下public class ResourceTrackerPBServiceImpl implements ResourceTrackerPB { private ResourceTracker rea转载 2015-12-27 09:40:44 · 505 阅读 · 0 评论 -
YARN RPC应用实例(2)
步骤3 为RPC函数的参数和返回值提供Protocol Buffers定义。YARN需要保证每个RPC函数的参数和返回值是采用Protocol Buffers定义的,因此ResourceTracker协议中RegisterNodeManagerRequest、RegisterNodeManagerResponse、NodeHeartbeatRequest和NodeHeartbeatResponse转载 2015-12-27 09:39:49 · 447 阅读 · 0 评论 -
YARN RPC应用实例(1)
为了进一步说明YARN RPC的使用方法,本小节给出一个具体的应用实例。在YARN中,ResourceManager和NodeManager之间的通信协议是ResourceTracker,其中NodeManager是该协议的客户端,ResourceManager是服务端,NodeManager通过该协议中定义的两个RPC函数(registerNodeManager和nodeHeartbea转载 2015-12-27 09:38:58 · 593 阅读 · 0 评论 -
YARN RPC实现
当前存在非常多的开源RPC框架,比较有名的有Thrift、Protocol Buffers和Avro。同Hadoop RPC一样,它们均由两部分组成:对象序列化和远程过程调用(Protocol Buflers官方仅提供了序列化实现,未提供远程调用相关实现,但三方RPC库非常多)。相比于Hadoop RPC,它们有以下几个特点:跨语言特性。前面提到,RPC框架实际上是客户机–服务器模型的一个转载 2015-12-27 09:38:08 · 1077 阅读 · 0 评论 -
Hadoop RPC 详解(参数调优)
Hadoop RPC对外提供了一些可配置参数,以便于用户根据业务需求和硬件环境对其进行调优。主要的配置参数如下。Reader线程数目。由参数ipc.server.read.threadpool.size配置,默认是1,也就是说,默认情况下,一个RPC Server只包含一个Reader线程。每个Handler线程对应的最大Call数目。由参数ipc.server.handler.q转载 2015-12-27 09:36:54 · 4020 阅读 · 0 评论 -
Hadoop RPC类详解(4)
Acceptor:接受来自Client的连接,建立与Client对应的Handler,并向Reactor注册此Handler。Handler:与一个Client通信的实体,并按一定的过程实现业务的处理。Handler内部往往会有更进一步的层次划分,用来抽象诸如read、decode、compute、encode和send等过程。在Reactor模式中,业务逻辑被分散的I/O事件所打破,所以转载 2015-12-27 09:36:05 · 288 阅读 · 0 评论 -
Hadoop RPC类详解(3)
Client内部有两个重要的内部类,分别是Call和Connection。Call类:封装了一个RPC请求,它包含5个成员变量,分别是唯一标识id、函数调用信息param、函数执行返回值value、出错或者异常信息error和执行完成标识符done。由于Hadoop RPC Server采用异步方式处理客户端请求,这使远程过程调用的发生顺序与结果返回顺序无直接关系,而Client端正是通过转载 2015-12-27 09:35:04 · 287 阅读 · 0 评论 -
Hadoop RPC类详解(2)
Hadoop RPC主要由三个大类组成,即RPC、Client和Server,分别对应对外编程接口、客户端实现和服务器实现。1. ipc.RPC类分析RPC类实际上是对底层客户机–服务器网络模型的封装,以便为程序员提供一套更方便简洁的编程接口。如图3-4所示,RPC类定义了一系列构建和销毁RPC客户端的方法,构建方法分为getProxy和waitForProxy两类,销毁方转载 2015-12-27 09:34:10 · 348 阅读 · 0 评论 -
如何部署hadoop分布式集群
1、集群部署介绍1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。对于Hadoop的集群来讲,可以分成两大类角色转载 2016-03-19 10:04:24 · 602 阅读 · 0 评论 -
在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架
在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架 友情提醒:大家最好通读一遍过后,在理解的基础上按照步骤一步一步设置,因为后面的会对前面的有所启示。一、前提条件Hadoop1.2.1分布式集群环境搭建成功,并且Hadoop集群服务器正常运行。二、所需环境和软件1. Hadoop分布式集群环境:见《在VMware下安装Ub转载 2016-03-21 22:22:25 · 356 阅读 · 0 评论 -
Hdfs 压缩
文件的压缩有两大好处:1、可以减少存储文件所需要的磁盘空间;2、可以加速数据在网络和磁盘上的传输。尤其是在处理大数据时,这两大好处是相当重要的。 下面是一个使用gzip工具压缩文件的例子。将文件/user/hadoop/aa.txt进行压缩,压缩后为/user/hadoop/text.gz1 package com.hdfs; 2 3 import java.io.转载 2016-10-08 10:30:13 · 314 阅读 · 0 评论 -
hadoop 压缩(1)
1 gzip压缩优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。缺点:不支持split。应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。譬如说一天或者一个小时的日志压缩成一个g转载 2016-10-08 10:24:52 · 238 阅读 · 0 评论 -
从hbase读取内容到hdfs文件上
import java.io.IOException;import java.util.Date;import java.util.List; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hb转载 2016-09-22 15:42:46 · 2172 阅读 · 0 评论 -
从hdfs读取文件存到hbase
import java.io.IOException; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.转载 2016-09-22 15:42:04 · 1447 阅读 · 0 评论 -
WordCount 到 Hdfs
import java.io.IOException; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWri转载 2016-09-22 15:41:09 · 373 阅读 · 0 评论 -
Ganglia 分布式配置
关于对分布式文件系统的监控,主要分为两个部分:机器性能相关的监控 和 系统运行状态 的监控。机器性能相关的监控:这个比较泛化,也比较成熟,主要是对CPU、内存、网络、磁盘I/O等信息的监控,我们没必要重复造轮子,可以选择比较方便强大的开源工具来搭建,这里我们选择Ganglia;系统运行状态的监控:这个与不同的文件系统相关,虽然不同DFS也有一些共性的内容,比如账户、日志、请求量等,转载 2016-09-23 22:15:03 · 608 阅读 · 0 评论 -
Ganglia配置安装
1、环境ubuntu14.04操作系统2、在 Ubuntu14.04 上安装 Ganglia 。打开终端(Ctrl+Alt+T),输入以下命令:sudo apt-get install ganglia-monitor rrdtool gmetad ganglia-webfrontend 开始的时候,我的电脑不能正常安装,报了一些错误,后来我根据终端上给出转载 2016-09-23 16:53:09 · 409 阅读 · 0 评论 -
eclipse上hadoop源码阅读
一、获取Hadoop的源码 首先通过官网下载hadoop-2.5.2-src.tar.gz的软件包,下载好之后解压发现出现了一些错误,无法解压缩, 因此有部分源码我们无法解压 ,因此在这里我讲述一下如何通过maven来获取完整的源码:需要说明的是,在使用maven的时候,需要先安装jdk,protoc ,如果没有安装可以参考 http://www.linuxidc.com转载 2016-05-08 09:57:57 · 345 阅读 · 0 评论 -
hadoop:mapreduce框架详解
开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习hdfs时候我就发现,要理解hadoop框架转载 2016-06-02 21:26:26 · 380 阅读 · 0 评论 -
MapReduce操作HBase
运行HBase时常会遇到个错误,我就有这样的经历。 ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times检查日志:org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientPr转载 2016-05-28 18:11:28 · 247 阅读 · 0 评论 -
WordCount 详解
WourdCount程序就是统计文本中字母的个数1、创建Wordcount示例文件?1234567891011121314151617181920212223242转载 2015-12-21 19:46:18 · 1686 阅读 · 0 评论 -
hadoop ha
以前用hadoop2.2.0只搭建了hadoop的高可用,但在hadoop2.2.0中始终没有完成YARN HA的搭建,直接下载了hadoop最新稳定版本2.6.0完成了YARN HA及HADOOP HA的搭建流程,没有仔细看hadoop的官方文档,貌似hadoop2.2.0不支持YARN HA,如果说错了谢谢指正呀,下面总结一下我的搭建流程:首先完成虚拟机的搭建:转载 2016-03-26 10:46:13 · 313 阅读 · 0 评论 -
Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
阅读目录一.概述二.Hadoop(HA)集群的搭建三.集群的启动四.测试HA的高可用性一.概述1.1 hadoop1.0的单点问题Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也转载 2016-03-23 11:43:21 · 249 阅读 · 0 评论 -
Hadoop RPC使用方法(1)
Hadoop RPC使用方法Hadoop RPC对外主要提供了两种接口(见类org.apache.hadoop.ipc.RPC),分别是:public static ProtocolProxy getProxy/waitForProxy(…):构造一个客户端代理对象(该对象实现了某个协议),用于向服务器发送RPC请求。public static Server RPC.B转载 2015-12-27 09:32:34 · 306 阅读 · 0 评论 -
Hadoop RPC远程过程调用源码解析及实例
什么是RPC?1、RPC(Remote Procedure Call)远程过程调用,它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的。经常用于分布式网络通信中。2、Hadoop的进程间交互都是通过RPC来进行的,比如Namenode与Datanode之间,Jobtracker与Tasktracker之间等。RPC协议假定转载 2015-12-27 09:26:48 · 325 阅读 · 0 评论 -
Hadoop RPC框架
1、RPC框架概述1.1 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。转载 2015-12-27 09:23:32 · 250 阅读 · 0 评论 -
机器学习问题方法总结
大类名称关键词有监督分类决策树信息增益分类回归树Gini指数,Χ2统计量,剪枝朴素贝叶斯非参数估计,贝叶斯估计线性判别分析Fishre判别,特征向量求解K最邻近相似度度量:欧氏距离、街区距离、编辑距离、向转载 2015-12-26 11:08:45 · 502 阅读 · 0 评论 -
Hadoop:解析Partition
Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出,下面我们就来分析参与这个过程的类。Mapper的结果,可能送到Combiner做合并,Combiner在系统中并没有自己的基类,而是用Reducer作为Combiner的基类,他们对外的功能是一样的,只是使用的位置和使用时的上下文不太一样而已。Mapper转载 2015-12-25 22:34:09 · 231 阅读 · 0 评论 -
深入理解Hadoop Partitioner
旧版 API 的 Partitioner 解析Partitioner 的作用是对 Mapper 产生的中间结果进行分片,以便将同一分组的数据交给同一个 Reducer 处理,它直接影响 Reduce 阶段的负载均衡。旧版 API 中 Partitioner 的类图如图所示。它继承了JobConfigurable,可通过 configure 方法初始化。它本身只包含一个待实现的方法 ge转载 2015-12-25 22:29:35 · 1831 阅读 · 0 评论 -
hadoop详细了解5个进程的作用
问题导读:1.job的本质是什么?2.任务的本质是什么?3.文件系统的Namespace由谁来管理,Namespace的作用是什么?4.Namespace 镜像文件(Namespace image)和操作日志文件(edit log)文件的作用是什么?5.Namenode记录着每个文件中各个块所在的数据节点的位置信息,但是他并不持久化存储这些信息,为什么?6.客户端读写某个数转载 2015-12-25 22:25:38 · 867 阅读 · 0 评论 -
Hadoop:序列化和反序列化
序列化1、什么是序列化? 将结构化对象转换成字节流以便于进行网络传输或写入持久存储的过程。 2、什么是反序列化? 将字节流转换为一系列结构化对象的过程。序列化用途:1、作为一种持久化格式。 2、作为一种通信的数据格式。 3、作为一种数据拷贝、克隆机制。Java序列化和反序列化1、创建一个对象实现了Serializable 2、序列化:转载 2015-12-24 14:28:34 · 562 阅读 · 0 评论 -
Hadoop自定义数据类型
Hadoop的自定制数据类型有两种,一种较为简单的是针对值,另外一种更为完整针对于键和值都适合 一、针对值,实现 Writable 接口 ?12345678910packageorg.apache.hadoop.io; import转载 2015-12-21 19:41:44 · 685 阅读 · 0 评论 -
MapReduce输入输出类型、格式及实例,mapreduce输入输出
输入格式1、输入分片与记录 2、文件输入 3、文本输入 4、二进制输入 5、多文件输入 6、数据库格式输入1、输入分片与记录1、JobClient通过指定的输入文件的格式来生成数据分片InputSplit。 2、一个分片不是数据本身,而是可分片数据的引用。 3、InputFormat接口负责生成分片。InputFormat 负责处理MR的转载 2015-12-21 17:21:42 · 1043 阅读 · 0 评论 -
Hadoop 序列化前的准备:Java 序列化
1. 基本概念 序列化可被定义为将对象的状态存储到存储媒介中的过程。在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确复本。当在面向对象的环境中实现序列化机制时,您需要在简化使用和保持灵活性之间进行许多权衡。只要您对该过程具有充分的控制,就可以在很大程度上自动化该过程。例如,在简单二进制序转载 2015-12-21 16:57:03 · 385 阅读 · 0 评论