hadoop基础

分布式文件管理系统HDFS存储数据方式,如图

1.block

HDFS文件被分成多个块进行存储,每个数据块默认存储3份,1个机架上存储2份,1份出现故障可以查找另外一份,如果整个机架故障,可以查找另外一个机架

2.DataNode数据节点

用于存放多个数据块

心跳检测:DataNode定期向NameNode发送心跳信息

3.NameNode管理节点

用来管理文件与数据块的映射表和数据块与数据节点(DataNode)的映射表

用到的文件包括:

fsimage :存储某一时段NameNode内存元数据信息。

edits: 操作日志文件。

fstime: 保存最近一次checkpoint的时间

4.Secondary NameNode

 合并NameNode的edit logs到fsimage文件中

 

HDFS读写流程

客户端发送文件读请求——>namenode返回元数据(从哪些datanode找到)——>客户端读取block,下载下来之后组装
客户端文件拆分成block——>通知namenode返回可用的 有足够磁盘空间的datanode——>客户端对block进行写入——>流水线复制——>更新元数据

 

HDFS的优缺点

  • 适合超大文件

  • 流式数据访问,一次写入、多次读取是高效的访问模式。。

  • 丰富的容错机制

 

  • 延迟的数据访问,对于低延迟的访问需求,hbase是更好的选择。

  • 不适用大量的小文件,过多的小文件存储会大量消耗nameNode的存储量。

  • 不适用过多的修改文件,HDFS写操作总是将数据添加在文件的末尾。他不支持具有多个写入者的操作,也不支持在文件的任意位置进行修改。

 

大数据处理方式MapReduce

map一个大任务分成多个小人物

reduce把map处理的结果合并

(可以多次做mapreduce)

posted @ 2017-04-25 17:48  corolcorona  阅读(141)  评论(0编辑  收藏  举报