大数据分析之Hadoop工具应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式文件系统——HDFS
HDFS的元数据 元数据包括 ►文件系统目录树信息 ►文件名,目录名 ►文件和目录的从属关系 ►文件和目录的大小,创建及最后访问时间 ►权限 ►文件和块的对应关系 ►文件由哪些块组成 ►块的存放位置 ►机器名,块ID HDFS对元数据和实际数据采取分别存储的方法 ►元数据存储在指定的服务器上(NameNode) ►实际数据储存在集群的其他机器的本地文件系统中(DataNode)
NameNode挂了怎么办?
►系统采用双NameNode节点分布管理设计方案,支持分布式的元数据服务器,支持元数 据自动日志功能,实现用户数据和元数据的备份和自动恢复,当一台服务器发生宕机时, 其管理功能可以有另外的服务器接管,系统可以正常运行,对外提供服务。
百度文库
分布式文件系统——HDFS
HDFS的高可用性
分布式数据库——HBase
Hbase物理存储
HTable HRegion分割
HTable:在行方向上分为多个HRegion。当表随着记录的不断增加而变大后,会逐渐分裂成 多份splits,称为region,一个region由[startkey,endkey]表示,不同的region会被Master分配给 相应的RegionServer进行管理。 HRegion: Region按大小分隔,达到阈值,HRegion自动等分,后台会一直进行split和sort操 作,以达到region的等分。
大数据分析之Hadoop工具应用
——分布式文件系统(HDFS)、分布式数据库(Hbase)与分布式计算(MapReduce)
什么是大数据
海量归档数据: 图书馆内部存储的大量的图书目录信息主 要包括了图书数量信息和图书流动信息等 等,包含了图书馆的所有重要信息。
图书馆
银行
海量交易数据: 企业内部的经营交易信息主要包括联机交易数据 和联机分析数据,是结构化的、通过关系数据库 迕行管理和访问的静态、历史数据。通过这些数 据,我们能了解过去发生了什么。
分布式数据库——HBase
HBase概述
HBase是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的 Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了 Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之 上提供了类似于Bigtable的能力。HBase不同于一般的关系数据库,它是一个适合 于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模 式。
使用块的好处 ► 当一个文件大于集群中任意一个磁 盘的时候,文件系统可以充分利用集群 中所有的磁盘 ► 管理块使底层的存储子系统相对简 单 ► 块更加适合备份,从而为容错和高 可用性的实现带来方便
块的冗余备份 ► 每个块在集群上会存储多份(replica) ● 默认复制份数为3 ● 可针对每个文件配置,由客户端指定 ● 可动态修改 ► 某个块的所有备份都是同一个ID ● 系统无需记录 “哪些块其实是同一份数据” ► 系统可以根据机架的配置自动分配备份位置 ● 两份在一个机架的两台机器上 ● 另一份在集群的另一个机架的某台机器上 ● 此策略是性能与冗余性的平衡 ● 机架信息需要手工配置
分布式数据库——HBase
Hbase逻辑架构 Hbase物理部署
分布式数据库——HBase
Hbase物理部署
►Client:包含访问hbase的接口,client维护着一些cache来加快对hbase的 访问,比如region的位置信息。 ►Zookeeper:1.保证任何时候,集群中只有一个master; 2.存贮所有Region的寻址入口; 3.实时监控RegionServer的状态,将Regionserver的上线和下线信 息实时通知给Master; 4.存储Hbase的schema,包括有哪些table,每个table有哪些 column family。 ►Master:1.为Regionserver分配region; 2.负责regionserver的负载均衡; 3.发现失效的regionserver并重新分配其上的region; 4.HDFS上的垃圾文件回收; 5.处理schema更新请求。 ►RegionServer:1.Regionserver维护Master分配给它的region,处理对这些region的IO 请求; 2.Regionserver负责切分在运行过程中变得过大的region。
HBase技术特点
1、大表:一个表可以有上亿行,上百万列 2、面向列:面向列(族)的存储和权限控制,列(族)独立检索。 3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
分布式数据库——HBase
HBase表存储结构示例
► Row Key:行键,表的主键,表中的记录按照Row Key字典排序; ► Timestamp:时间戳,每次数据操作对应的时间记录,可以看做是数据的版本号; ► Column Family:列簇,表 在水平方向有一个或者多个Column Family组成,一个 Column Family可以由多个Column 组成,即Column Family支持动态扩展,无需预先 定义Column 的数量及类型,所有Column 均以二进制格式存储,用户需要自行进行型 转换。
Hadoop最先是由Apache公司在2005年引入的,起源于google开发的MapReduce和Google File System(GFS)项目。
GFS→HDFS BigTable →Hbase MapReduce →Hadoop
Google云计算
MapReduce
GFS
BigTable
Chubby
分布式文件系统——HDFS
什么是分布式文件系统? 分布式文件系统是指文件系统管理的物理存储资源不一定直接在本地节点上,而是通过计算 机网络与节点相连。分布式文件系统设计基于客户机/服务器模式,一个典型的网络可能包括 多个供用户访问的服务器。用户可以在任意一台客户机上访问其他机器的文件系统。
为什么需要分布式文件系统? 高扩展能力:HDFS采用元数据中心化管理,然后通过客户端暂存数据分布减小元数据的访问压 力; 高可用性:一是整个文件系统的可用性,二是数据的完整和一致性。数据完整性通过文件的镜 像和文件自动修复来解决; 弹性存储:可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要 中断系统运行;
► 低延时的数据访问 ► 大量小文件 ► 多用户写入,任意修改文件
适用
不适用
分布式文件系统——HDFS
块(BLOCK)的概念 ► 在传统的块存储介质中,块是读写的最小数据单位 (扇区) ► 传统文件系统基于存储块进行操作 ● 为了节省文件分配表空间,会对物理存储块进行整合,一般大小为4096字 节 ► HDFS也使用了块的概念,但是默认大小设为64M字节 ● 可针对每个文件配置,由客户端指定 ● 每个块有一个自己的全局ID ► HDFS将一个文件分为一个或数个块来存储 ● 每个块是一个独立的存储单位 ● 以块为单位在集群服务器上分配存储
存储
分析
展现
共享
大数据处理的技术关键
分析技术:
数据处理:自然语言处理技术; 统计和分析:地域占比,文本情感分析,A/B test,top N排行榜; 数据挖掘:建模,聚类,分类,排名; 模型预测:预测模型,机器学习,建模仿真。
存储技术:
结构化数据:海量数据查询、统计、更新等操作效率低 非结构化数据:图片、视频、word、pdf、ppt等文件存储,不利于检索,存储和查询 半结构化数据:转换为结构化数据或者按照非结构化存储。
互联网
海量交互数据: 源于Facebook、Twitter、LinkedIn及其他来源的社交媒 体数据构成。它包括了呼叫详细记录CDR、设备和传感 器信息、GPS和地理定位映射数据、通过管理文件传输 Manage File Transfer协议传送的海量图像文件、Web文 本呾点击流数据、科孥信息、电子邮件等等。可以告诉 我们未来会収生什么。
分布式文件系统——HDFS
HDFS的高可用性
Client1 Client2
正常运行状态 单点失效状态
NFS服务器
NameNode1
NameNode2
DataNode节点
分布式文件系统——HDFS
HDFS的高可用性
NameNode
►NameNode是用来管理文件系统命名空间的组件 ► 一个HDFS集群只有一台active的NameNode ►一个HDFS集群只有一个命名空间,一个根目录 ►NameNode上存放了HDFS的元数据 ►元数据保存在NameNode的内存当中,以便快速查询 ►1G内存大致可以存放1,000,000个块对应的元数据信息 ►按缺省每块64M计算,大致对应64T实际数据
分布式文件系统——HDFS
HDFS的设计
HDFS为了做到可靠性(reliability)创建了多份数据块(datablocks)的复制 (replicas),并将它们放置在服务器群的计算节点中(compute nodes)。
分布式文件系统——HDFS
HDFS应用场景
超大文件 流式数据访问 一次写入,多次读取 传输时间与寻址时间 商用硬件 适量的文件数 为把“计算”移动到“数据”提供 基础和便利
分布式数据库——HBase
Hbase物理存储
HRegion分布
Region是分 布式存储的 最小单元
分布式数据库——HBase
Hbase物理存储
storefile就是列簇,一个列簇整合成一个storefile文件。所有数据进来先在 memstor进行缓冲,达到一定的阀值就刷新一次形成一个storefile。
分布式数据库——HBase
HFile :Hbase中Key Value数据存储格式,是Hadoop的二进制格式文件,实际 上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。
什么是大数据
大数据类型与存储
大数据类型
大数据存储
实时数据
分布式数据库 • • • • 可平滑扩展 可冗余备份,保证高可靠性 快速访问分发机制支持大量访问请求 数据访问优化策略
非结构化数据
存储、管理、访问
分布式文件系统
结构化数据
关系型数据库集群
GIS数据
GIS数据库集群
数据处理流程
检索
采集 预处理
Datanode
• 一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个 是元数据包括数据块的长度,块数据的校验和,以及时间戳。 • DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所 有的块信息。 • 心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到 另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode 的心跳,则 认为该节点不可用。 • 集群运行中可以安全加入和退出一些机器。 DataNode所在机器挂了怎么办? 增加DataNode节点后? DataNode中的磁盘挂了怎么办? ►datanode每3秒钟向namenode发送心跳,如果 10分钟datanode没有向namenode 发送心跳,则 ► 系统平台增加新节点之后,系统自动在 ►DataNode正常服务;自动尽 namenode认为该datanode已经dead ,namenode 所有节点之间均衡数据。系统后台根据忙 快通NameNode坏掉的磁盘上 将取出该datanode上对应的block ,对其进行复 闲程度,自动发起,占用很少系统资源, 的数据。 制。 无需人工干预,实现数据均衡分布。
大数据技术:
数据采集:ETL工具; 数据存取:关系数据库,NoSQL,NewSQL,等 基础架构支持:云存储,分布式文件系统等; 计算结果展现:云计算,标签云,关系图等。
解决方案:
Hadoop(MapReduce技术)、MongoDB、流计算(twitter的strom和yahoo!的S4)
Hadoop项目介绍