大数据开发入门笔记(一)- 初识大数据
HDFS概念
数据块:数据块是抽象块而非整个文件作为存储单元,一般设置为128M,备份*3
NameNode:主。管理文件系统的命名空间,存放文件元数据 维护着文件系统的所有文件和目录,文件与数据块的映射,记录每个文件中各个块所在数据节点的信息
DataNode:工作节点。存储并检索数据块,向NameNode更新所存储块的列表
HDFS的优点和缺点
HDFS的读写流程
HDFS的写流程
HDFS写流程
-
客户端向NameNode发起写数据请求。
-
分块写入DataNode节点,DataNode自动完成副本备份。
-
DataNode向NameNode汇报存储完成,NameNode通知客户端。
HDFS的读流程
HDFS读流程
1.客户端向NameNode发起读数据请求。
2.NameNode找出距离最近的DataNode节点信息。
3.客户端从DataNode分块下载文件。
大数据hadoop hdfs面试简单思考题 :
1. hadoop数据块的大小设置为多少合适为什么?‘
hadoop数据块的大小一般设置为128M,如果数据块设置的太小,一般的文件也会被分割为多个数据块,在访问的时候需要查找多个数据块的地址,这样的效率很低,而且如果数据块设置太小的话,会消耗更多的NameNode的内存;而如果数据块设置过大的话,对于并行的支持不是太好,而且会涉及系统的其他问题,比如系统重启时,需要从新加载数据,数据块越大,耗费的时间越长。
2. hadoop NameNode有哪些容错机制,如果NameNode挂掉了怎么办?
NameNode容错机制,目前的hadoop2可以为之为HA(高可用)集群,集群里面有两个NameNode的节点,一台为主节点,一台为从节点,两者的数据时刻保持一致,当主节点出现问题时,从节点可以自动切换,用户基本感知不到,这样就避免了NameNode的单点问题。
Hadoop MapReduce简介
MapReduce是一种编程模型,是一种编程方法,也是抽象的理论
MapReduce和YARN的关系
是Hadoop2.0以后的资源管理器,负责整个集群资源的管理和调度,所有的MapReduce程序都要通过YARN来进行调度
(1)ResourceManager
分配和调度资源;启动并监控ApplicaMaster;监控NodeManager
(2)ApplicationMaster
为MapReduce类型的程序申请资源,并分配给内部任务;负责数据的切分;监控任务的执行及容错
(3)NodeManager
管理单个节点的资源;处理来自ResourceManager的命令;处理来自ApplicationMaster的命令