hadoop组件

hadoop三大核心组件:

  1. HDFS:HDFS有一个主/从架构。NameNode存放元数据,包括:文件名称、大小、位置,也会周期性的接收来自DataNodes的心跳和块报告,还存储数据块到DataNode的映射信息;DataNode是存放数据的地方,客户端可以向它请求读和写;
  2. YARN:(1)ResourceManager接收客户请求,启动和管理应用程序的AppicationMaster,接收AppicationMaster的资源申请并启动Container组成,管理NodeManager的资源和健康(2)NodeManager管理Container,并汇报监控情况(3)AppicationMaster负责向ResourceManager申请资源并将资源分配给task,这些task在Container中运(4)Container存放AppicationMaster和task,Container需要时候申请,用完释放,可以结合zookeer实现YARN集群的故障切换
  3. MapReduce:map负责对数据获取、分割、处理,reduce负责对map的结果汇总

hadoop相关系统:

  1. zookeeper:是一个分布式协调服务,提供一致性服务,包括:配置维护、域名服务、分布式同步、组服务等。应用场景1:几百台服务器的配置信息批量改变,应用场景2:结果zookeeper进行HDFS自动故障转移;
  2. Hbase:分布式数据库,HDFS为Hbase提供了高可靠的底层存储,Mapreduce为Hbase提供了高性能的计算能力,zookeeper为Hbase提供了稳定服务和失效恢复机制
  3. Hive:可以将结构化的数据文件映射为一张数据库表,并提供sql查询,可以将sql语句转换为MapReduce任务。通过hiveSQL语句快速实现简单的MapReduce统计,十分适合数据仓库的统计分析
  4. sqoop:关系型数据库和hadoop(hdfs、hive、hbase)之间数据传输的工具

实时处理系统:

  1. flume:实时日志收集系统,用于将大量日志数据从不同的源进行收集、聚合,最终移到集中的地方存储。可以结合Kafka;
  2. Kafka:基于zookeeper的分布式发布订阅消息系统,生产者生产鸡蛋,篮子存放鸡蛋,消费者消费鸡蛋,鸡蛋相当于消息,篮子相当于存放消息的消息队列,也就是kafka集群,篮子满了,需要增加,就是kafka集群扩容。概念:消息,broker(节点),topic(主题),分区
  3. storm:实时计算系统,计算任务成为拓扑,mapreduce运行的是任务(job),而storm运行的是拓扑,任务会结束,拓扑会一直运行。主从架构,主节点和从节点通过zookeeper来交互,storm于kafka结合,kafka缓存消息,并将不均匀的消息转换成均匀的数据流提供给storm进行消费 
  4. Spark: MapReduce的中间结果保存在HDFS,而spark的中间输出结果可以保存在内存中,速度更快,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。适合ETL、机器学习、图形计算。

分布式搜索系统:

  1. ElasticSearch:它提供了基于RESTful web接口从而使全文搜索非常容易。能够以近似实时速度存储、搜索、分析
posted @ 2021-05-12 11:27  jamespeng2020  阅读(261)  评论(0)    收藏  举报