hadoop生态包含hadoop、spark、hive、hbase、flink、kafka、zookeeper、hdfs、mapreduce、yarn、pig、sqoop、Phoenix等。

  1. HDFS:Hadoop 生态圈的基本组成部分是 Hadoop 分布式文件系统(HDFS)。HDFS 是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS为 HBase 等工具提供了基础。
  2. MapReduce:Hadoop 的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型。MapReduce 把任务分为 map(映射)阶段和 reduce(化简)。开发人员使用存储在HDFS 中数据(可实现快速存储),编写 Hadoop 的 MapReduce 任务。由于MapReduce工作原理的特性, Hadoop 能以并行的方式访问数据,从而实现快速访问数据。
  3. Hbase:HBase 是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读/写大量数据。HBase 使用 Zookeeper 进行管理,确保所有组件都正常运行。
  4. ZooKeeper:用于 Hadoop 的分布式协调服务。Hadoop 的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理 Hadoop 操作。
  5. Hive:Hive 类似于 SQL 高级语言,用于运行存储在 Hadoop 上的查询语句,Hive 让不熟悉 MapReduce 开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop 上面的 MapReduce 任务。像 Pig 一样,Hive 作为一个抽象层工具,吸引了很多熟悉SQL 而不是 Java 编程的数据分析师。
  6. Pig:它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。其编译器将 Pig Latin 翻译成 MapReduce 程序序列。
  7. Sqoop:是一个连接工具,用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用 MapReduce 实现并行化运行和
    8)Spark:Spark是一个通用的大数据分析引擎,具有高性能、易用和普遍性等特点。Spark架构基于Spark Core构建了Spark SQL、Spark Streaming、MLlib和Graphx四个主要编程库,分别用于离线ETL(Extract-Transform-Load)、在线数据分析、流计算、机器学习和图计算等场景
    9)Kafka:Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。它最初由LinkedIn(领英)公司发布,使用Scala语言编写,与2010年12月份开源,成为Apache的顶级子项目。
    10)yarn:资源调度和任务管理,四大组件:(四个进程)ResourceManager(Rm):主进程、Nodemanager(NM):各个机器节点管理器、ApplicationMaster(AM):申请资源、Container容器:处理各个节点分布式作业的。
    11)Phoenix:Phoenix 构建在 HBase 之上的开源 SQL 层。能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API。在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码。

phoneix的本质就是定义了大量的协处理器,使用协处理器帮助我们完成HBase的操作!

另:iotdb:incubator-iotdb https://iotdb.apache.org/
IoTDB (Internet of Things Database) 是由清华大学主导的 Apache 孵化项目,是一款聚焦工业物联网、高性能轻量级的时序数据管理系统,也是一款开源时序数据库,为用户提供数据收集、存储和分析等服务。