Hadoop权威指南学习笔记

Hadoop笔记:

1、combiner优化方案:

combiner优化类似于reduce函数那样对本地数据进行处理(如:需要去有两个任务需要取出最大值,那么可以使用combiner对单个mapper进行最大值计算,在作为reduce的输入) 

优点:减少mapper和reduce之间的数据传输量,得到的结果不会变 

缺点:并不是所有的数据处理都适合使用combiner(如:需要计算平均值就不能使用combiner, 

因为平均值和所有的数据都有联系的,而最大值始终不变)

2.4.3 运行分布式Mapreduce作业

优势一、同一个程序将完整的数据中运行,简单的说就是一个处理程序可以处理整个分布式的数据集。

优势二、允许扩充数据大小和硬件规模

2.5 Hadoop流

Hadoop提供了一个API来运行MapReduce,除了允许用Java之外的语言来编写自己的map和reduce函数

第三章 Hadoop分布式文件系统

3.1 HDFS的设计

HDFS是为以流式数据访问模式存储超大文件而设计的文件系统。

大数据技术的广泛应用使其成为引领众多行业技术进步、促进效益增长的关键支撑技术。根据数据处理的时效性,大数据处理系统可分为批式(BATCH)大数据和流式(STREAMING)大数据两类。其中,批式大数据又被称为历史大数据,流式大数据又被称为实时大数据。 

举个例子来说:我们把数据当成水库的话,水库里面存在的水就是批式大数据,进来的水是流式大数据。

流式大数据实时处理是大数据时代信息化的重要抓手。采用“事中”甚至“事前”模式实现感知、分析、判断、决策等功能的智能系统需要流式大数据实时处理平台的支撑。

此外,流式大数据实时处理可以为大数据驱动的深度学习提供计算框架支撑。“流立方”流式大数据实时处理平台可为研制融合逻辑推理、概率统计、众包、神经网络等多种形态的下一代人工智能统一计算框架提供支持。

特点: 

超大文件、流式数据访问、商用硬件、低时间延迟的数据访问、大量的小文件、多用户写入,任意修改文件

3.2 HDFS概念

3.2.1 数据块

磁盘进行读写的最小单位,HDFS默认数据块大小为128MB,每个数据块作为独立的存储单元。不同的是HDFS文件块大小小于整个块时候不会占用整个块的空间。

特点: 

1、一个文件的大小可以大于网络中任意一个磁盘的容量。 

2、大大简化了存储子系统的设计。 

3、适合数据备份而提供数据的容错能力和提高可用性。

3.2.2 namenode和datanode

HDFS有两类节点,即管理节点和工作节点:

namenode:是管理节点,管理文件系统的命名空间。它维护着整个文件系统树和整棵树内所有的文件和目录。保留着名命空间镜像文件和编辑日志文件到本地。

datanode:也记录着文件中各个块所在的数据节点信息,但并不是永久保存的,会随着启动主机而变化。会定期的发送数据块信息给namenode

客户端:代表用户通过namenode和datanode交互来访问整个文件系统。

Hadoop提供的容错机制:

1、备份那些组成文件系统元数据持久状态的文件,可以配置namenode在多个文件系统上保存文件元数据持久状态。 

2、运行一个辅助的namenode,但它不能作为namenode使用。作用是定期合并编辑日志和命名空间镜像,辅助namenode必须在单独的物理机器上运行,在namenode故障时启用。

3.2.3 快缓存

针对于被频繁访问的数据块,将其缓存在datanode的内存中,以堆外块的形式存在

3.2.4 联邦HDFS

保存文件和数据块的引用关系:

1、命名空间卷:由命名空间的元数据和一个数据块池组成。名命空间卷之间是相互独立的,两两之间并不相互通信。 

2、数据块池:数据块池包含了该命名空间下文件所有的数据块。因此集群中的datanode需要注册到每个namenode,并且储存着来自多个数据块池中的数据。

3.2.5 HDFS的高可用性

恢复一个失效的namenode: 

1、启动一个保存有元数据副本的namenode, 

2、重演编辑日志 

3、接收到独自多得datanode的数据块报告,并退出安全模式

高可用支持目标架构需要做的修改:

namenode之间需要通过高可用存储实现编辑日志的共享,当备用namenode接管工作后,它通过读取共享编辑日志至末尾实现与活动的namenode的状态同步。

datanode需要同时向两个namenode发送数据块处理报告,因为数据映射存储在namenode的内存中,而非磁盘。

客户端使用特定的机制来处理namenode失效问题,这一机制对用户是透明的。

辅助namenode的角色被备用namenode所包含,备用namenode为活动的namenode命名空间设置周期性检查点。

故障规避与切换:

故障转移控制器管理着将活动namenode转移为备用的namenode的过程,默认使用Zookeeper来确保有且仅有一个活动的namenode。监视宿主namenode是否失效。

3.3 命令行接口

3.4 Hadoop文件系统

Java抽象类org.apache.hadoop.fs.FileSystem,定义了Hadoop中一个文件系统的客户端接口,并且有几个具体实现类:

文件系统URL方案实现类描述

Localfilefs.LocalFileSystem使用客户端校验和的本地磁盘文件系统

HDFShdfshdfs.DistributedFileSystemHadoop分布式文件系统,将HDFS设计成mapreduce可以实现高性能

WebHDFSwebhdfshdfs.Web.WebHdfsFileSystem基于HTTP的文件系统,提供对HDFS文件的认证读/写访问

HFTPhftphdfs.HfitFileSystem一个在HTTP上提供对HDFS只读访问的文件系统

HSFTPhsftphdfs.HsftpFileSystem在HTTPS上提供对HDFS只读访问的文件系统

hadoop提供许多文件系统的接口,它一般使用URI 方案选取合适的文件系统实例来交互。尽管在运行那些可以访问任何文件系统的mapreduce程序,但是在处理大数据的时候,仍然需要选择最优的文件系统。

RPC

远程过程调用协议 编辑RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。 

有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。

Thrift:

thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。 Thrift支持的数据类型:

基本类型

容器

服务类型

Thrift将Hadoop文件系统展示为一个Apache Thrift服务来弥补这个不足,使得任何有Thrift绑定的语言都能轻松的与Hadoop文件系统互动,如HDFS 文件系统。 

使用Thrift API,需运行提供Thrift服务的Java服务器,以代理的方式访问hadoop文件系统,提供了:

C语言库

PUSE

webDAV

HTTP

FTP

3.5 JAVA 接口

本章需要了解:

Hadoop的Filesystem文件系统

Hadoop交互的API

3.5.1 从Hadoop URL中读取数据

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容

  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,229评论 0 34
  • 注:本文是我学习Hadoop权威指南的时候一些关键点的记录,并不是全面的知识点 Hadoop 避免数据丢失的方法:...
    利伊奥克儿阅读 722评论 0 2
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,872评论 2 89
  • 在遥远的东方大地,住着一群辛劳的人们,他们最爱吃的是米制品,用米制作的面条,他们称作为米面;用米制作的饼被称之为米...
    酒拾叁阅读 1,125评论 0 0
  • 传说,上古有位神氏,因为寂寞,于是将自己的双翼折断化作婴儿,慢慢教养,将其抚养成人,后来这名女婴爱上了人类,神氏愤...
    大义灭亲阅读 347评论 0 0