1.1主要包含三大核心组件

 

  1. HDFS集群:(Hadoop Distribute File System)分布式文件系统,海量数据存储解决方案负责海量数据的存储集群中的角色主要有 NameNode (主节点)/ DataNode(数据节点)/SecondaryNameNode。
  2. YARN集群:分布式资源调度平台和任务监控平台,负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager(资源管理程序) /NodeManager(节点管理器)
  3. MapReduce:Hadoop的分布式运算编程框架  它其实是一个应用程序开发包。

  
1.2HDFS 是什么 ,场景,如何存储数据,存储特点

 

  1. DFS:(Hadoop Distribute File  System )分布式文件系统,
  2. 运行在大量普通廉价机器上,提供容错机制为大量用户提供性能不错的文件存取服务
  3. 是将数据进行窥快存储在不同的机器中
  4. HDFS是对数据进行分块存储,块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,之前的版本中是64M。 这样可以对所有节点分别进行数据读取,减少延迟。
  5. 每一个block会在多个datanode上存储多份副本,副本的份数可以通过参数 dfs.replication 设定,默认是3份,一般够用。 一般在集群中,硬件损坏是常态,所以要多准备几个副本。

 
1.3 HDFS的特点

 

  1. 高容错性,安全性
  2. 数据自动保存多个副本,副本丢失后,自动恢复
  3. 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理
  4. 可以存储海量数据 一次性写入,多次读取
  5. 保证数据一致性
  6. 可构建在廉价机器上 通过多副本提高可靠性
  7. 提供了容错和恢复机制    .......

1.4 什么是namenode , 作用 

 

  1.   NameNode(管理者)管理文件系统的命名空间。它维护着文件系统树及整棵树内所有的文件和目录,这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。NameNode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息在系统启动时由数据节点重建。
  2. 用于记录文件存储的元数据:对象(NameNode将这些数据的元数据信息记录在内存中,并且将这些元数据信息定期的序列化到本地磁盘上),记录用户操作的行为日志 .记录用户存储的文件的大小、切分的块数、每一块的副本数和存储在DataNode上的位置
  • 接收客户端的请求,给datanode'分配存储任务 , 或者是给客户端请求数据的元信息
  • 维护集群中的节点的数量,接收datanode的注册, 维护了一个统一的集群版本, 
  • 维护集群中数据的负载均衡和副本个数
  • 接收datanode的心跳汇报, 接收datanode的数据的汇报 , 更新节点映射(元数据)

   
1.5 什么是datanode , 作用 

 

  1. datanode节点是HDFS系统正在查处用户数据的节点 存储文件内容,维护blockid到datanode的映射关系
  2.  存储数据,将数据以物理切块的形式存储在本地指定的磁盘目录中
  3. 处理客户端的请求
  4. 接收namenode 分配的任务
  5. 接收namenode的指令完成容错工作 , 副本的复制 移动
  6. 定期的向namenode心跳响应请求,默认每间隔3s一次
  7. 汇报自己存储的数据数据1h
  8. HDFS 集群启动 如何启动 , 第一次启动的过程中做了什么事情
  9. 删除 hdp  重新安装  
  10. HDFS 的shell客户端  

   
1.6 HDFS 集群启动 如何启动 , 第一次启动的过程中做了什么事情

   第一步,启动namenode;
   第二步,启动datanode;
   第三步,启动Secondary namenode。

  • 如果是第一次启动Hadoop集群,需要先将hdfs注册到hapdoot集群中,初始化的元数据目录 不是第一次 则忽略