【大数据】Hadoop学习总结
本博客将总结记录博主学习大数据的相关知识
Hadoop框架是用来解决数据离线批处理问题的框架,其中最核心的是HDFS
和MapReduce
,HDFS是架构在Hadoop之上的分布式文件系统,MapReduce是架构在Hadoop之上用来做计算的框架。
hadoop两个核心:HDFS和MapReduce
用途:解决分布式存储和分布式计算。
特点:高可靠性、高效性、可扩展性、成本低(普通PC机都能构建集群)
应用:Google、Facebook等,用于日志处理、批处理、离线处理
HDFS架构
架构说明
- HDFS Client: 系统使用者,调用HDFS API操作文件;与NameNode交互获取文件元数据;与DataNode交互进行数据读写, 注意:写数据时文件切分由Client完成。
- NameNode: Master节点(也称元数据节点),是系统唯一的管理者。负责元数据的管理(名称空间和数据块映射信息);配置副本策略;处理客户端请求。
- DataNode: 数据存储节点(也称Slave节点),存储实际的数据;执行数据块的读写;汇报存储信息给NameNode。
- Secondary NameNode: 小弟角色,分担大哥NameNode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给NameNode, 注意:在hadoop 2.x 版本,当启用HDFS HA时,将没有这一角色。(详见HDFS HA基本架构)。
[scode type="share"]热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。
冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。[/scode]
架构原则
- 元数据与数据分离: 文件本身的属性(即元数据)与文件所持有的数据分离。
- 主/从架构: 一个HDFS集群是由一个NameNode和一定数目的DataNode组成。
- 一次写入多次读取: HDFS中的文件在任何时间只能有一个Writer。当文件被创建,接着写入数据,最后,一旦文件被关闭,就不能再修改。
- 移动计算比移动数据更划算: 数据运算,越靠近数据,执行运算的性能就越好,由于HDFS数据分布在不同机器上,要让网络的消耗最低,并提高系统的吞吐量,最佳方式是将运算的执行移到离它要处理的数据更近的地方,而不是移动数据。
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »