1.1主要包含三大核心组件
- HDFS集群:(Hadoop Distribute File System)分布式文件系统,海量数据存储解决方案负责海量数据的存储集群中的角色主要有 NameNode (主节点)/ DataNode(数据节点)/SecondaryNameNode。
- YARN集群:分布式资源调度平台和任务监控平台,负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager(资源管理程序) /NodeManager(节点管理器)
- MapReduce:Hadoop的分布式运算编程框架 它其实是一个应用程序开发包。
1.2HDFS 是什么 ,场景,如何存储数据,存储特点
- DFS:(Hadoop Distribute File System )分布式文件系统,
- 运行在大量普通廉价机器上,提供容错机制为大量用户提供性能不错的文件存取服务
- 是将数据进行窥快存储在不同的机器中
- HDFS是对数据进行分块存储,块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,之前的版本中是64M。 这样可以对所有节点分别进行数据读取,减少延迟。
- 每一个block会在多个datanode上存储多份副本,副本的份数可以通过参数 dfs.replication 设定,默认是3份,一般够用。 一般在集群中,硬件损坏是常态,所以要多准备几个副本。
1.3 HDFS的特点
- 高容错性,安全性
- 数据自动保存多个副本,副本丢失后,自动恢复
- 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理
- 可以存储海量数据 一次性写入,多次读取
- 保证数据一致性
- 可构建在廉价机器上 通过多副本提高可靠性
- 提供了容错和恢复机制 .......
1.4 什么是namenode , 作用
- NameNode(管理者)管理文件系统的命名空间。它维护着文件系统树及整棵树内所有的文件和目录,这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。NameNode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息在系统启动时由数据节点重建。
- 用于记录文件存储的元数据:对象(NameNode将这些数据的元数据信息记录在内存中,并且将这些元数据信息定期的序列化到本地磁盘上),记录用户操作的行为日志 .记录用户存储的文件的大小、切分的块数、每一块的副本数和存储在DataNode上的位置
- 接收客户端的请求,给datanode'分配存储任务 , 或者是给客户端请求数据的元信息
- 维护集群中的节点的数量,接收datanode的注册, 维护了一个统一的集群版本,
- 维护集群中数据的负载均衡和副本个数
- 接收datanode的心跳汇报, 接收datanode的数据的汇报 , 更新节点映射(元数据)
1.5 什么是datanode , 作用
- datanode节点是HDFS系统正在查处用户数据的节点 存储文件内容,维护blockid到datanode的映射关系
- 存储数据,将数据以物理切块的形式存储在本地指定的磁盘目录中
- 处理客户端的请求
- 接收namenode 分配的任务
- 接收namenode的指令完成容错工作 , 副本的复制 移动
- 定期的向namenode心跳响应请求,默认每间隔3s一次
- 汇报自己存储的数据数据1h
- HDFS 集群启动 如何启动 , 第一次启动的过程中做了什么事情
- 删除 hdp 重新安装
- HDFS 的shell客户端
1.6 HDFS 集群启动 如何启动 , 第一次启动的过程中做了什么事情
第一步,启动namenode;
第二步,启动datanode;
第三步,启动Secondary namenode。
- 如果是第一次启动Hadoop集群,需要先将hdfs注册到hapdoot集群中,初始化的元数据目录 不是第一次 则忽略