Hadoop生态系统

HDFS:将多台机器的文件系统逻辑上看成一个整体。

  1. HDFS集群分为两大角色:NameNode、DataNode
  2. NameNode负责管理整个文件系统的元数据
  3. DataNode 负责管理用户的文件数据块
    4.文件会按照固定的大小(blocksize)切成若干块后分布式存储在若干台datanode上
    5.每一个文件块可以有多个副本,并存放在不同的datanode上
  4. Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量
    7.HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向namenode申请来进行

YARN:
一个资源调度平台,负责为运算程序提供服务器资源。其上可运行各类分布式运算程序。包括ResourceManager,NodeManager
ResourceManager负责任务的调度,NodeManger负责执行任务。

Zookeeper:
一个集群的管理者,监视着集群中的各个节点状态。如管理hdfs的namenode,yarn的resourceManager.包括zkfc,journalnode。
ZKFC 主要用于监控namenode状态(namenode必须有zkfc进程),通过心跳机制鉴定namenode状态,保证集群高可用。
Hadoop生态系统_第1张图片
Journalnode 其作用相当于nfs文件系统,用于namenode的通信,namenode之间为了数据同步,会通过一组journalnode的进程进行通信。当active状态的namenode发生改变时,会将操作记录在editlog中并写入大多数journalnode所在节点, standby状态节点读取可以读取jns中的变更信息,并将变更应用与自己的命名空间。保证高可用。
Hadoop生态系统_第2张图片
HBASE:是一个分布式键值存储数据库。包括Hmaster和Hregionserver
在hbase存储一张表,表会随着记录增多不断变大,会自动分裂为多个region,一个region由(startkey,endkey)表示,不同region分配给相应的regionserver处理。
在hmaster中有两张特殊表,Root和meta表。Meta表中存储了用户表的region信息,可以有多个region。Root表中记录了meta的region信息,root只有一个region。在zookeeper中记录了root的location。
客户端访问数据流程:
Client->zookeeper->hamster->root->meta->数据表。

你可能感兴趣的:(大数据)