大数据
大数据的由来
大数据
-随着计算机技术的发展,互联网的普及,信息的积累,已经到了一个非常庞大的地步,信息的增长也在不断地加快,随着互联网,物联网,建设的加快,信息更是爆炸式增长,收集,检索,统计这些信息越发困难,必须使用新技术来解决这些问题
什么是大数据
大数据的定义
-大数据指无法在一定时间范围内常规软件工具进行捕捉、管理和处理的数据集合,需要新处理模式才能具有更强的决策力,洞察力和流程优化的海量,高增长率和多样化的信息资产
-是指从各种各样类型的数据中,快速获得有价值的信息
大数据能做什么
-企业组织利用相关数据分析帮助他们降低成本,提高效率、开发新产品、做出更明智的业务决策等
-把数据集合并后进行分析的得出的信息和数据关系性,用来察觉商业趋势、判定研究质量,避免疾病扩山、打击犯罪或测定即时交通路况等
-大规模并行处理数据库,数据库挖掘电网,分布式文件系统或数据库,云计算平和可扩展的存储系统等
大数据特性
大数据的5V特性是什么?
大数据与Hadoop
Hadoop是什么
-Hadoop是一种分析和处理海量数据的软件平台
-Hadoop是一款开源软件,使用JAVA开发
-Hadoop可以提供一个分布式基础架构
Hadoop特点
-高可靠性,高扩展性,高效性,高容错性,低成本
Hadoop起源
BigTable
-BigTable是存储结构化数据
-BigTable建立在GFS,Scheduler,Lock Service和MapReduce以上
-每个Table都是一个多维的稀疏图
Hadoop组件
常用组件
Hadoop核心组件
Hadoop生态系统
HDFS结构
HDFS角色及概念
Hadoop体系中数据存储管理的基础,是一个高度容错的系统,用于在低成本的通用硬件上运行
NameNode
-Master节点,管理HDFS的名称空间和数据块映射信息(fsimage),配置副本策略,处理所有客户端请求
名称空间和数据块映射信息:文件存在哪个位置的对应信息
副本策略:数据块存几份,存在哪
Secondary NameNode
-定期合并fsimage和fsedits,推送给NameNode
-紧急情况下,可辅助恢复NameNode
但Secondary NameNode并非NameNode的热备
DateNode
-数据存储节点,存储实际的数据
-汇报存储信息给NameNode
Client
-切分文件
-访问HDFS
-与NameNode交互,获取文件位置信息
-与DataNode交互,读取和写入数据
Block
-每块缺省128MB大小
-每块可以多个副本
MapReduce结构
MapReduce角色及概念
源自于Google的MapReduce论文,JAVA实现的分布式计算框架
角色和概念
JobTracker
-管理节点,分配任务的
-Master节点只有一个
-管理所有作业、任务的监控、错误处理等
-将任务分解成一系列任务,并分配给TaskTracker
TaskTracker
-执行工作的
-Slave节点,一般是多台
-运行Map Task和Reduce Task
-并与JobTracker交互,汇报任务状态
Map Task
解析每条数据记录,传递给用户编写的map()并执行,将输出结果写入本地磁盘
-如果为map-only作业,直接写入HDFS
Reducer Task
从Map Task的执行结果中,远程读取数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行
Yarn结构
Yarn角色及概念
Yarn是Hadoop的一个通用的资源管理系统
Yarn角色
Resourcemanager(核心)
-领导,管理者
-处理客户端请求
-启动、监控ApplicationMaster
-监控NodeManager
-资源分配与调度
NodeManager(核心)
-秘书,工作的
-单个节点上的资源管理
-处理来自ResourceManager的命令
-处理来自ApplicationMaster的命令
Container
-对任务运行行环境的抽象,封装了CPU、内存等
-多维资源以及环境变量、启动命令等任务运行相关的信息资源分配与调度
ApplicationMaster
-数据切分
-为应用程序申请资源,并分配给内部任务
-任务监控与容错
client
-用户与Yarn交互的客户端程序
-提交应用程序、监控应用程序状态,杀死应用程序等
Yarn的核心思想
将JobTracker和TaskTacker进行分离,它由下面几大构成组件
-ResourceManager一个全局的资源管理器
-NodeManager每个节点(RM)代理
-ApplicationMaster表示每个应用
-每一个ApplicationMaster有个多Container在NodeManager上运行
Hadoop介绍
hadoop的部署模式有三种
-单机
-为分布式
-完全分布式
单机模式
Hadoop的单机模式安装非常简单
-获取软件
-安装配置Java环境,安装jps工具
-设置环境变量,启动运行
vim hadoop-env.sh
hadoop调用jar包分析input文件里wordcount,结果放到output
案例
伪分布式
Hadoop配置文件及格式
HDFS分布式文件系统
完全分布式
搭建完全分布式
基础环境准备
https://hadoop.apache.org/docs/r2.7.7/ hadoop官方手册
核心配置文件core-site.xml
默认格式
HDFS配置文件hdfs-site.xml
HDFS完全分布式配置
JPS验证角色
节点验证
案例