大数据
1.大数据的概念
数据: 可以被存储和获取的信息皆为数据.
数据的单位 :
1Byte = 8bit 1K(千)= 1024Byte 1MB(兆)=1024K 1G(吉) = 1024M
1T(太)=1024G 1P(拍)=1024T 1E(艾)=1024P 1Z(泽)=1024E
1Y (尧)=1024Z 1B(布)=1024Y 1N(诺)=1024B 1D(刀)=1024N
大数据主要解决两个问题 :数据的存储 数据的计算
大数据的五大特点
大:数据量非常的庞大
多:种类来源非常的多,结构化数据、非结构化数据、半结构化数据。
值:大数据价值密度低
快:数据的增长速度是非常的快,数据处理的速度非常的快
信:数据的准确性和可信赖度,即数据的质量。
-
结构化数据:数据的结构是固定不变的,比如表,固定字段、固定的类型
-
半结构化:数据具有一定的结构,但是结构是会变化的 比如xml 、html、json
-
非结构化:没有结构的数据,比如文本、音频、视频、图片等
大数据业务分析步骤
-
明确分析目标和思路
-
数据的收集
-
数据的处理(kettle ,mr spark flink)
-
数据的分析处理(写sql)
-
数据的应用 可视化处理,做图标展示
-
数据分析报告
hadoop技术
hadoop介绍
Hadoop 是属于apache的,使用 java 开发免费开源的软件,是一个开发和处理大规模的数据的软件平台。允许使用简单地变成模型在大量计算机集群上对大型数据集进行分布处理.
hadoop 包括三个模块:
-
HDFS 分布式存储框架,实现数据的海量存储
-
YARN 统一的资源调度平台
-
MAPREDUCE 实现分布式计算的框架
hadoop的发展历史
-
Doug Cutting : hadoop 之父
-
写爬虫遇到了两个问题:
-
如何存储,基于google GFS 开发出来了 HDFS ,后期贡献给apache
-
如何检索,实现了 lucene 全文检索工具
-
-
2004年 google又发表一篇论文。实现了 MapReduce 计算框架,然后将mapreduce融入到HDFS,更名为hadoop
-
2007年发表一篇论文关于bigTable ,开发出来 HBase 分布式数据库。
hadoop的优点和特性
1.集群的扩展能力
2.成本低
3.高效处理
4.可靠性有副本
hadoop的发型版本
-
apache : 是全球最大开源社区,软件都是开源免费
-
优点:开源,贡献功能就多,迭代就快,新版本更新快。
-
弊端:只管无脑升级,不考虑其他软件的兼容性。
-
-
HortonWorks :是由 yahoo 主导一家商业公司,提供web的管理界面,免费开源,用于管理hadoop的生态圈,主要解决hadoop 软件之间的兼容性问题,这家公司目前被cloudera 收购了。
-
cloudera :目前全球最大的的大数据公司,提供大数据解决方案公司,对apache hadoop进行升级,解决兼容问题,cloudera 开发的软件 kudu、imapa 会贡献给apache。 cloudera 是一个商业化产品,主要提供管理工具,cloudera manager 类似于 HDP,都是集群管理工具。
hadoop的架构
Hadoop1.x架构
HDFS: 分布式文件存储系统
namenode:hdfs的master节点,也叫主节点,只能存活一个
主要功能:
管理hdfs的群
对元数据进行管理
datanode:hdfs的slave节点,也叫从节点,可以有多个
主要功能: 负责数据的最终存储
负责数据的读写操作
secondarynamenode:是hdfs中主节点的namenode的辅助节点
主要功能: 用于辅助namenode进行元数据管理操作
MapReduce:分布式的计算框架
jobTracker:MapReduce的主节点
主要功能: 1.项目经理,负责计算任务的接受和任务的分配 2.负责计算任务的资源分配
taskTracker:MapReduce的主节点
主要功能:小弟,负责计算任务的最终执行
什么是元数据?
元数据就是描述数据的数据.
举例来说:
-
比如一个文件系统,一个文件是数据吧,请问怎么找到这个文件呢?
-
文件的名称 hadoop权威指南
-
文件的大小 119m
-
文件创建和修改时间 2020-05-01 modify date
-
文件所属用户
-
文件的权限
-
等等
-
-
这些都是元数据的信息。如果元数据丢失了,如何寻找对应的数据呢?找不到了
hadoop的2.x的架构(必须要掌握)
-
-
HDFS :分布式文件存储系统
-
namenode:hdfs的master 节点,也叫主节点,只能存活一个
-
主要功能:
-
管理hdfs的群
-
对元数据进行管理操作
-
-
-
datanode: hdfs的slave 节点,也叫从节点,可以有多个
-
主要功能:
-
负责数据的最终存储
-
负责数据的读写操作
-
-
-
secondarynamenode:是hdfs中主节点namenode的辅助节点
-
主要功能:
-
用于辅助namenode 进行元数据管理操作
-
-
-
-
-
journalNode:文件系统的元数据信息管理,一般为奇数个。
-
主要功能:
-
用于辅助namenode进行元数据的管理
-
接收active节点的namenode传递过来的元数据信息
-
让standby状态的namenode从journalNode拉取最新的元数据信息,保证两个namenode的元数据信息是一致的。
-
-
-
-
注: 当第二种架构或第四种架构中,部署HDFS的高可用模式,没有secondaryNamenode,取而代之 journalNode集群。
hadoop的集群搭建
集群的介绍
hadoop 集群具体来说包含两个集群:
-
HDFS集群
-
NameNode
-
DataNode
-
SecondaryNameNode
-
-
YARN集群 ——YARN集群负责海量数据运算时的资源调度
-
ResourceManager
-
NodeManager。两者逻辑上分离,但物理上常在一起。
-
-
mapReduce——分布式运算编程框架,是应用程序开发包
由用户按照编程规范进行程序开发,后打包运行在HDFS集群上,并且受到YARN集群的资源调度管理。
hadoop 集群的三种部署方式:
-
独立模式: 一台机器部署所有,开启一个jvm (开发和测试)
-
伪分布式模式:一台机器,模拟出来多台虚拟机,多个节点程序(开发和测试)
-
完全分布式集群:多个节点分别部署到不同的机器上(生产环境)
hadoop的安装
目录结构的介绍:
-
bin目录:Hadoop最基本的管理脚本和使用脚本的目录
-
etc目录:hadoop集群的管理配置文件所在目录
-
sbin目录:Hadoop管理脚本所在的目录
-
share目录:Hadoop各个模块编译后的jar包所在的目录,官方自带示例
如何启动hadoop的集群
-
按照组件启动
-
使用 hadoop-daemon.sh [start | stop] namenode | datanode |secondnamenode
-
使用yarn-daemon.sh [start | stop] resourcemanager | nodemanager
-
-
根据模块启动
-
使用[start|stop]-dfs.sh
-
使用[start|stop]-yarn.sh
-
-
全部启动,不推荐,开发环境可以这么用
-
start-all.sh
-
stop-all.sh
-
-
历史服务器要单独启动或者关闭(单独启动)
mr-jobhistory-daemon.sh [start|stop] historyserver