大数据基本知识汇总
1. Hadoop是什么?
Hadoop是存储海量数据和分析海量数据的工具
Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。
2. Hadoop核心概念
Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce、Yarn。
HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode(数据索引)和实际存放数据的服务器Datanode(数据实体),对数据进行分布式储存和读取。
MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算),再根据任务调度器(JobTracker)对任务进行分布式计算。
HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
HDFS可以理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
MapReduce可以理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。
3. Hadoop组件功能了解
Hadoop:是一个分布式计算的开源框架
HDFS:是Hadoop的三大核心组件之一,分布式存储系统,负责海量数据的存储
Hbase:是一款基于HDFS的数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等,它的数据可以存储在HDFS上。
Sqoop:主要用于和传统数据库(mysql、oracle等)之间进行数据交换。
Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速。
Phoenix:Phoenix在Hbase上构建了一层关系型数据库。可以用SQL来查询Hbase数据库,Phoenix借鉴了很多关系型数据库优化查询的方法,将这些方法用在Hbase上,让Hbase更方便使用。
Flume:是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据。
4. Mesos
Mesos:是一个集群管理平台