一、大数据概论
1.1 大数据的概念
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
通俗来说就是海量的数据,但是也可泛指大数据技术、大数据行业、大数据应用等。
大数据技术,主要解决海量数据的存储和海量数据的分析计算问题。
1.2 大数据的特点
- 海量数据(Volume 大量)
- 数据更新快(Velocity 高速)
- 数据类型多样(Variety 多样):结构化数据(数据库、文本数据)和非结构化数据(网络日志、音频、视频、图片、地理位置信息等)
- 价值密度低(Value 低价值密度)
1.3 大数据的技术
- 数据采集:ETL工具负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
- 数据存取:关系数据库、NOSQL、SQL等
- 基础架构:云存储、分布式文件存储等
- 数据处理:
- 统计分析:假设检验、显著性检验、差异分析、相关分析、T检验、方差分析、卡方分析、偏相关分析、距离分析、回归分析、简单回归分析、逐步回归、回归预测与残差分析、岭回归、logistic回归分析、曲线估计、因子分析、聚类分析、主成分分析、因子分析、快速聚类法与聚类法、判别分析、对应分析、多元对应分析(最优尺度分析)、bootstrap技术等
- 数据挖掘:分类、估计、预测、相关性分组或关联规则、聚类、描述和可视化、复杂数据类型挖掘
- 模型预测:预测模型、机器学习、建模仿真
- 结果呈现:云计算、标签云、关系图等
二、Hadoop与大数据生态
2.1 Hadoop概念
狭义来说,Hadoop是一个由apache基金会开发的分布式系统基础架构。
广义来说,Hadoop通常指的是Hadoop生态圈。这个生态圈围绕着海量数据的存储和分析计算而发展。
2.2 Hadoop常见的发行版本
-
Apache Hadoop
Apache版本最原始(最基础)的版本。
官网:Apache Hadoop -
Cloudera Hadoop
Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support;
CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强;
Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。
2.3 Hadoop的优势
- 高可靠性:多数据副本
- 高扩展性:节点扩展,在集群间分配任务
- 高效性:Hadoop是并行工作的,以加快任务的处理速度
- 高容错性:能够自动将失败的任务重新分配
2.4 Hadoop的组成
- MapReduce:计算
- Yarn:资源调度
- HDFS:数据存储
- Common:辅助工具
三、Hadoop组成架构阐述
3.1 HDFS
-
NameNode (NN):
存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限等),以及每个文件的快列表和块所在的DataNode等
-
DataNode (DN):
在本地文件系统存储文件块数据,以及块数据的校验。
-
Secondary NameNode (2NN):
每隔一段时间对NameNode元数据备份。
3.2 Yarn
-
ResourceManager (RM):
处理客户端的需求;
监控NodeManager;
启动或监控ApplicationMaster ;
资源的分配与调度。
-
NodeManager (NM):
管理单个节点上的资源;
处理来自ResourceManager上的命令;
处理来自ApplicationMaster上的命令。
-
ApplicationMaster (AM):
负责数据的切分;
为应用程序申请资源并分配给内部的任务;
任务的监控与容错。
-
Container:
Container是Yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
3.3 MapReduce
MapReduce将计算过程分为两个阶段:Map和Reduce
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总
四、Hadoop目录结构
-
bin目录:存放对Hadoop相关服务进行操作的脚本
-
sbin目录:存放启动或停止Hadoop相关服务的脚本
存放的是我们管理脚本的所在目录,重要是对hdfs和yarn的各种开启和关闭和单线程开启和守护
脚本名称 作用 hadoop-daemon.sh 通过执行hadoop命令来启动/停止一个守护进程(daemon);他可以单独开启一个进程也可以使用hadoop-daemons来开启多个进程,这样我们在某台机器挂掉时,就不用全部重新开启了 start-all.sh 调用 start-dfs.sh和start-yarn.sh(官方不建议使用) stop-all.sh 调用 stop-dfs.sh和stop-yarn.sh(官方不建议使用) start-dfs.sh 启动NameNode、SecondaryNamenode、DataNode这些进程 start-yarn.sh 启动ResourceManager,nodeManager 这些进程 stop-dfs.sh 关闭NameNode、SecondaryNamenode、DataNode这些进程 stop-yarn.sh 关闭ResourceManager、nodeManager 这些进程 stop-balancer.sh 停止balancer stop-mapred.sh 停止MapReduce -
etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
文件名称 作用 core-site.xml Hadoop核心全局配置文件,可以其他配置文件中引用该文件中定义的属性,如在hdfs-site.xml及mapred-site.xml中会引用该文件的属性;该文件的模板文件存在于$HADOOP_HOME/src/core/core-default.xml,可将模板文件复制到conf目录,再进行修改。 hadoop-env.sh Hadoop环境变量 hdfs-site.xml HDFS配置文件,该模板的属性继承于core-site.xml;该文件的模板文件存于$HADOOP_HOME/src/hdfs/hdfs-default.xml,可将模板文件复制到conf目录,再进行修改 mapred-site.xml MapReduce的配置文件,该模板的属性继承于core-site.xml;该文件的模板文件存于$HADOOP_HOME/src/mapred/mapredd-default.xml,可将模板文件复制到conf目录,再进行修改 yarn-site.xml Yarn的相关配置 -
lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能),该目录下存放的是Hadoop运行时依赖的jar包
-
share目录:存放Hadoop的依赖jar包、文档、和官方案例,Hadoop各个模块编译后的jar包所在的目录
五、Hadoop的运行模式
- 本地运行模式
- 完全分布式运行模式
【文有部分摘录,仅供学习分享使用。如侵联删】
),该目录下存放的是Hadoop运行时依赖的jar包
5. share目录:存放Hadoop的依赖jar包、文档、和官方案例,Hadoop各个模块编译后的jar包所在的目录
五、Hadoop的运行模式
- 本地运行模式
- 完全分布式运行模式
【文有部分摘录,仅供学习分享使用。如侵联删】