<>一、 Hadoop的起源及发展史

Doug Cutting的全文检索引擎的架构Lucene, 在海量数据的处理上遇到了和google一样的难题.
Google公开了GFS和Mapreduce思想
Doug Cutting等人用了2年业余时间实现了HDFS 和Mapreduce机制
Goolge Hadoop
文件系统 GFS -> HDFS

计算 MapReduce -> Mapreduce

大表格 BigTable -> HBase

Doug Coutting: Hadoop之父

<>二、 hadoop的模块:

<>公共模块:

<>HDFS:

namenode
datanode
secondarynamenode

<>Yarn:

resourcemanger
nodemanager
application master
container

<>Hadoop主要组成:分布式文件系统HDFS和MapReduce计算模型

HDFS:
NameNode:元数据的管理(元数据:文件名,大小,副本数,各个副本在节点的位置…)
DataNode:用于具体数据的保存。
SecordayNamenode:元数据的同步。
Client:负责数据的请求(上传,读,写。。。)

Yearn:
Resourcemanager:全局任务的调度和资源的管理(Cpu,内存)
nodemanager: 所在节点的管理
Client:发起任务的请求
application master:负责管理某个任务,为应用申请资源,并分配内部任务的监控和容错

container:对环境的抽象,封装了CPU,内存等等多维资源。

<>三、 namenode启动过程

元数据的同步?
NameNode的元数据信息先往edits文件中写,当edits文件达到一定的阈值(3600秒或大小到64M)的时候,会开启合并的流程。

合并流程
1.当开始合并的时候,
SecondaryNameNode会把edits和fsimage拷贝到所在服务器所在内存中,
合并生成名为fsimage.ckpt的文件。
2.将fsimage.ckpt文件拷贝到NameNode上,
删除原有的fsimage,
并将fsimage.ckpt重命名为fsimage。
3.当SecondaryNameNode将edits和fsimage拷贝走之后,
NameNode会立刻生成一个edits.new文件,用于记录新来的元数据,
当合并完成之后,原有的edits文件才会被删除,
并将edits.new文件重命名为edits文件,
开启下一轮流程
4. 配置hdfs-site.xml=
<property> <name>dfs.namenode.checkpoint.period</name> <value>3600</value>
<description>The number of seconds between two periodic
checkpoints.</description> </property> <property>
<name>dfs.namenode.checkpoint.txns</name> <value>1000000</value> </property>
<>四、 HDFS特点
优点: 1. 处理超大文件    这里的超大文件通常是指百MB、数百TB大小的文件。    目前在实际应用中,HDFS已经能用来存储管理PB级的数据了。
2. 流式的访问数据 HDFS的设计建立在更多地响应"一次写入、多次读取"任务的基础上。 在多数情况下,分析任务都会涉及数据集中的大部分数据.
请求读取整个数据集要比读取一条记录更加高效。 3. 运行于廉价的商用机器集群上 Hadoop设计对硬件需求比较低,而无需昂贵的高可用性机器上。
廉价的商用机故障情况的概率较高。 设计HDFS时要充分考虑数据的可靠性,安全性及高可用性。 缺点: 1. 不适合低延迟数据访问 2.
适合存储大数据集,存储大文件利用更高 HDFS的设计目标是流式访问大数据集 因为Namenode把文件系统的元数据放置在内存中,
所以文件系统所能容纳的文件数目是由Namenode的内存大小来决定。 一般来说,每一个文件、文件夹和Block需要占据150字节左右的空间,
存储大文件利用更高. 3. 不支持随机的修改操作

技术
©2019-2020 Toolsou All rights reserved,
年薪20万属于什么水平?答案让人扎心!连 CEO 都不香了?这些互联网大佬接连辞任一文揭秘阿里、腾讯、百度的薪资职级百度、阿里、腾讯内部岗位级别和薪资结构,附带求职建议!可怕的不是堕落,而是清楚自己在堕落用C++跟你聊聊“原型模式” (复制/拷贝构造函数)关于keras使用fit_generator中遇到StopIteration惹什么猫都别惹熊猫!「功夫熊猫」20年对人类拿下4血C语言程序设计课程设计 之《学生成绩管理系统》Unity 场景异步加载(加载界面的实现)