大家好,又见面了,我是你们的朋友全栈君。
一.大数据总体架构与规划
二.各类数据的采集
三.相关名词的了解
- MP:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念”Map(映射)“和”Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。– 百度百科 MP相关流程
- HDFS:HDFS(Hadoop Distributed File System),作为Google File System(GFS)的实现,是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。
HDFS由四部分组成,HDFS Client、NameNode、DataNode和Secondary NameNode。 HDFS是一个主/从(Mater/Slave)体系结构,HDFS集群拥有一个NameNode和一些DataNode。NameNode管理文件系统的元数据,DataNode存储实际的数据。
HDFS客户端 1、提供一些命令来管理、访问 HDFS,比如启动或者关闭HDFS。 2、与 DataNode 交互,读取或者写入数据;读取时,要与 NameNode 交互,获取文件的位置信息;写入 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。
NameNode即Master, 1、管理 HDFS 的名称空间。 2、管理数据块(Block)映射信息 3、配置副本策略 4、处理客户端读写请求。
DataNode就是Slave。NameNode 下达命令,DataNode 执行实际的操作。 1、存储实际的数据块。 2、执行数据块的读/写操作。
Secondary NameNode并非 NameNode 的热备。当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。 1、辅助 NameNode,分担其工作量。 2、定期合并 fsimage和fsedits,并推送给NameNode。 3、在紧急情况下,可辅助恢复 NameNode。
3.HA(High Available):高可用:CDH4 之前,在HDFS 集群中NameNode 存在单点故障(SPOF )。对于只有一个NameNode 的集群,如果NameNode 机器出现故障,那么整个集群将无法使用,直到NameNode 重新启动。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。
NameNode 主要在以下两个方面影响HDFS 集群: (1). NameNode 机器发生意外,比如宕机,集群将无法使用,直到管理员重启NameNode (2). NameNode 机器需要升级,包括软件、硬件升级,此时集群也将无法使用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134182.html原文链接:https://javaforall.cn