一.Hadoop
Hadoop是分布式系统基础架构。
用户可在不了解底层细节基础上,开发分布式程序。具有可靠高效可伸缩的特点
Hadoop的核心是yarn、HDFS和Mapreduce。yarn是资源管理系统,实现资源调度,yarn是Hadoop2.0中的资源管理系统,总体上是master/slave结构。作为产品经理,对于yarn可以粗浅将其理解为进行资源分配的,不用过于关注。 Hdfs是分布式文件存储系统,用于存储海量数据;mapreduce是并行处理框架,实现任务分解和调度。Hadoop可用于搭建大型数据仓库,对海量数据进行存储、分析、处理和统计。
一.Hive
想要使用HDFS分布式文件存储系统,必须通过Hive进行。Hive也是产品经理经常能听到的词。也可以浅显地将Hive理解为数据仓库。
Hive 是构建在Hadoof HDFS上的数据仓库,可以将结构化的数据文件映射成一张数据库表,并提供类似SQL的查询功能,其本质是将SQL转化成mapreduce程序
Hive表其实是HDFS的目录/文件
Hive中的元数据包括:表的名字、表的列、分区及属性、表的数据所在目录等
二.Kafka
Kafka是消息系统,可以实现高吞吐量
基本概念1.对kafka来说,只关注消息的生产者与消费者
基本概念2.主题(Topic)与分区(Partition)
在创建topic时默认只有一个分区
默认情况下,每一个 Topic 在创建时如果不指定 Partition 数量时只会创建 1 个 Partition。比如,我创建了一个 Topic 名字为 test ,没有指定 Partition 的数量,那么会默认创建一个 test-0 的文件夹,这里的命名规则是:<topic_name>-<partition_id>。
基本概念3.Brocker和集群(Cluster)
1个kafka服务器也称为Brocker,它接受生产者发的消息并存入磁盘。若干brocker组成集群(Cluster)
三.Flink
Flink一般用一只松鼠的图案标识,借用了松鼠的快速灵巧的特点
Flink可以同时进行批处理和流处理。
在 Spark 生态体系中,对于批处理和流处理采用了不同的技术框架,批处理由
SparkSQL 实现,流处理由 Spark Streaming 实现,这也是大部分框架采用的策
略,使用独立的处理器实现批处理和流处理,而 Flink 可以同时实现批处理和
流处理。
Flink经常会和kafka结合使用,能一条条地处理数据
五.Spark
Spark和hive结合的比较好,spark和Flink都是分布式流数据流引擎,能对集群资源进行分配使用,确保大计算快速准确完成
六.Hbase
HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBASE 技术可在廉价 PC Server 上搭建起大规模结构化存储集群.
为什么有HDFS后还有hbase和ES?
其实HDFS是文件系统,能存储1G以上大量数据,HBase在HDFS之上提供了高并发的随机写和支持实时查询,这是HDFS不具备的。
HDFS是列式存储,查询更快。
一般Hbase会配合HDFS作为大数据架构。
七.ES
Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
ES提供全文检索,大数据架构中用ES作为向前端提供接口计算的数据库。