2019-12-02 hadoop的了解(一)以及微服务、分布式、集群三者的异同

一、构成

Hadoop简介:

Apache Hadoop项目是可靠、可扩展的分布式计算开源软件;
Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集;
狭义上说Hadoop是apache的一个顶级项目;
广义上说Hadoop就是Hadoop--生态圈。

Hadoop版本:

Hadoop发行版分为开源社区版和商业版,社区版指由apache软件基金会维护的版本,是官方维护的版本体系;商业版是由第三方公司在社区版的基础上进行了一些修改整合以及各个组件兼容性测试而发行的版本,比较著名的有cloudra的CDH、Map R、DK Hadoop等。

Hadoop主要有四个构成部分

1、基础核心Common:提供基础的通用功能
2、HDFS:分布式存储
3、MapReduce:分布式计算
4、Yarn:资源分配(任务的执行方式)
除四个主要构成部分外,还有:
Hadoop Ozone:Hadoop的对象存储;
Hadoop Submarine:Hadoop的机器学习引擎;

Hadoop优点

1、高可靠性:按位存储和处理数据的能力值得信赖;
2、高可拓展性:在可用的计算机集簇间分配数据并完成计算任务,集簇可扩展到数以千记的节点中,可以处理不同级别的数据,大到可以处理PB级数据;
3、高容错性:自动保存数据的多个副本,自动将失败的任务重新分配;
4、高效性:能够在节点中动态的移动数据,保证各个节点的动态平衡,并且处理速度很快,其工作方式为并行;
5、低成本性:Hadoop是开源的,可运行在廉价的机器上。

Hadoop缺点

1、不适合低延迟数据访问;
2、无法高效存储大量小文件;
3、不支持多用户写入及任意修改文件。

1、HDFS的构成

主要分为三个节点:
NameNode:管理节点,存放文件原数据,主要包括文件和数据块的映射表、数据块与数据节点的映射表,即数据的存放地址等。
DataNode:工作节点,存放数据块即数据;
SecondaryNameNode:辅助NameNode,将原数据持久化到磁盘中。

1、NameNode
功能:

1、存储数据的分布位置、数据的各种描述信息(如文件名、文件大小、文件所在目录、所有者名称、读写执行权限等)

2、读数据时,要先从NameNode获取文件的分布位置(在哪些DataNode上),然后再从DataNode上读数据(当然,这个过程已经由HDFS的Shell或API实现了)

3、处理客户端的读写请求.写数据时,先向NameNode提交要写的文件的信息,NameNode检查自己的记录表,以找到合适的DataNode(需要找多个,因为每个文件还要创建副本)来存储这些数据,然后指挥这些DataNode串成一串接收数据。如果某个DataNode在接收数据时罢工,则忽略掉它(忽略之后造成的副本数少于指定数量会在后期补加副本);如果所有选出的DataNode全挂掉(几率很低),则写入失败。

4、管理HDFS文件系统的命名空间.需要时,可以调用NameNode列出HDFS中的文件夹及文件(如执行 hdfs dfs -ls / 命令时)。

5、管理副本的配置和信息(默认三个副本)

元数据的存储位置

由配置文件hdfs-site.xml中的dfs.namenode.name.dir指定

dfs.namenode.name.dir的默认值是file://${hadoop.tmp.dir}/dfs/name

{hadoop.tmp.dir}的默认值是tmp/hadoop-{user.name}

${user.name}是安装Hadoop的用户名

配置时可以在core-site.xml中修改${hadoop.tmp.dir}

持久化的元数据

元数据目录下的文件:

1 [root@izj6cj3wje0m1jxumjkuelz current]# pwd
2 /export/hadoop/tmp/dfs/name/current
3 [root@izj6cj3wje0m1jxumjkuelz current]# ls
4 edits_0000000000000000001-0000000000000000002  fsimage_0000000000000000057
6 edits_0000000000000000003-0000000000000000053  fsimage_0000000000000000057.md5
7 edits_0000000000000000054-0000000000000000055  fsimage_0000000000000000059
8 edits_0000000000000000056-0000000000000000057  fsimage_0000000000000000059.md5
9 edits_0000000000000000058-0000000000000000059  seen_txid
10 edits_inprogress_0000000000000000060           VERSION

由于需要快速查询,NameNode的元数据运行时是加载在内存中的,关闭时内存中的数据会持久化到硬盘中fsimages文件.同时HDFS集群也会将所有的操作都记录到edits文件中

内存元数据 == fsimage + edits

其他fsimage.md5是校验文件,用于校验fsimage的完整性
seen_txid是hadoop的版本
VERSION里存储的namespaceID:NameNode的唯一ID,clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群

2、SecondaryNameNode
功能

1、NameNode的热备节点,有故障时可以快速切换到SecondaryNameNode
2、周期性同步edits编辑日志,定期合并fsimage和edits到本地磁盘
生产环境中NameNode会长时间运行,几乎不关闭。而内存中的元数据是在NameNode关闭时进行持久化的。这样生产环境中内存元数据与持久化元数据差异就会越来越大,会导致生成大量的edits文件,NameNode重启速度变慢.

SecondaryNameNode会将NameNode中产生的fsimage和edits下载过来,执行合并生成新的fsimage,然后把新的fsimage再重新发回NameNode,这样NameNode中的持久化元数据就能与内存中的元数据一致或非常接近了,edits文件的数量大大减少

3、JournalNide
功能

1、NameNode在文件系统被修改时,会向JournalNode写入操作日志(edits)
2、SecondaryNameNode同步JournalNode的edits日志,使集群中的更新操作可以被共享和同步
3、可以被NameNode和SecondaryNameNode同时访问,用以支持NameNode高可用

4、DataNode
功能

1、负责存储数据块和数据块校验
2、处理客户端的读写请求
3、通过心跳机制定期向NameNode汇报运行状态和本地所有块的列表信息
4、在集群启动时DataNode项NameNode提供存储Block块的列表信息

Block数据块

·HDSF固定的最小的存储单元(默认128M,可配置修改)
·写入到HDFS的文件会被切分成Block数据块(若文件大小小于数据块大小,则不会占用整个数据块)
·默认配置下,每个block有三个副本

二、生态体系简介

https://blog.csdn.net/wdr2003/article/details/79692886
https://blog.csdn.net/welun521/article/details/90476879

hadoop2.0生态体系

HDFS:虚拟文件系统,即一个文件可能被存于多台机器上
YARN、MapReduce(MR):MapeReduce是分布式计算模型,程序人员只需在Mapper、Reducer中编写业务逻辑,交由框架进行分布式计算即可;yarn则是负责海量数据运算时的资源调度。


yarn应用提交过程

spark:快速通用的计算引擎,专门为大数据处理而设计。
sqoop:是SQL-to-Hadoop的缩写,主要用于传统数据库与hadoop之间的数据传输
Hbase:源自google的bigtable论文。是分布式列存数据库,不同于一般的数据库,适合于存储非结构化的数据。
Mahout:数据挖掘算法库,主要目的是创建一些可扩展的机器学习领域经典算法的实现
Zookeeper:分布式协作服务。主要解决分布式环境下数据管理问题,统一命名,状态同步,集群管理,配置同步等。
pig:基于Hadoop的数据流系统。基于MapReduce的ad-hoc(计算在query时发生)数据分析工具
Hive:基于Hadoop的数据仓库。最初用于解决海量结构化的日志数据统计问题。
Flume:日志收集工具,Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。

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

推荐阅读更多精彩内容

  • Hadoop 核心-HDFS 1. HDFS概述 1.1 介绍 在现代的企业环境中,单机容量往往无法存储大量数据,...
    打开世界的源代码阅读 450评论 0 0
  • 目录一 HDFS概念1.概念2.组成3 HDFS 文件块大小二.HDFS命令行操作1.基本语法2.参数大全3.常用...
    Movle阅读 1,624评论 0 5
  • 1. HDFS HDFS(Hadoop Distributed File System) 是一个 Apache S...
    EdwinGates阅读 595评论 0 0
  • 小六《颠覆平庸》(189-210) 主要讲述了写作的目的是为了让别人看,引发读者的兴趣,也就是把握读者的需要,提供...
    叶子的明天阅读 188评论 0 0
  • 平和县是有名的柚都。这里的蜜柚香甜可口,营养价值和经济价值很高。满山的柚子树一梯一梯环山而上,一条条的浓郁的绿带,...
    菡萏琪玲阅读 637评论 0 0