大数据和Hadoop目录•大数据介绍–进入大数据时代–大数据的作用–大数据的特点–大数据的研究方向•HADOOP介绍–HADOOP起源–HADOOP特点与优势–HADOOP实现的基础原理–HADOOP的版本介绍–HADOOP的1.x和2.x的特点与基本原理•HADOOP的2.x的安装进入大数据时代半个世纪以来,随着计算机技术全面融入社会生活,信息爆炸已经积累到了一个开始引发变革的程度。它不仅使世界充斥着比以往更多的信息,而且其增长速度也在加快。互联网(社交、搜索、电商)、移动互联网(微博)、物联网(传感器,智慧地球)、车联网、GPS、医学影像、安全监控、金融(银行、股市、保险)、电信(通话、短信)都在疯狂产生着数据。全球每秒钟发送2.9百万封电子邮件,一分钟读一篇的话,足够一个人昼夜不息的读5.5年…每天会有2.88万个小时的视频上传到Youtube,足够一个人昼夜不息的观看3.3年…推特上每天发布5千万条消息,假设10秒钟浏览一条信息,这些消息足够一个人昼夜不息的浏览16年…每天亚马逊上将产生6.3百万笔订单…每个月网民在Facebook上要花费7千亿分钟,被移动互联网使用者发送和接收的数据高达1.3EB…Google上每天需要处理24PB的数据…大数据的作用•应用案例–谷歌的云计算平台•成功预测了世界杯16强比赛每场比赛的胜利者–沃尔玛(零售连锁超市)•啤酒与尿不湿–百度高考•2014年预测押中了全国18套作文考题中的12套•其他应用推荐引擎情感分析风险建模欺诈检测营销活动分析客户流失分析社交图谱分析用户体验分析网络监控产品设计大数据的特点大数据的4V特征大体量(Volume)、多样性(Variety)、快速化(Velocity)、价值密度低(Value)”就是“大数据”的显著特征,简称4V特征。大体量(Volume)•数据基本单位换算:•1B(byte字节)=8b(bit位)•1KB(Kilobyte千字节)=1024B•1MB(Megabyte,简称“兆”)=1024KB•1GB(Gigabyte,简称“吉”,又称“千兆”)=1024MB•1TB(Trillionbyte,简称“太”)=1024GB≈10^3GB•1PB(Petabyte,简称“拍”字节)=1024TB≈10^6GB•1EB(Exabyte,简称“艾”字节)=1024PB≈10^9GB•1ZB(Zettabyte,简称“泽”字节)=1024EB≈10^12GB大体量(Volume)•在2006年,个人用户才刚刚迈进TB时代,全球一共新产生了约180EB的数据;在2011年,这个数字达到了1.8ZB。而根据知名市场研究机构IDC的预测,到2020年,整个世界的数据总量将会增长44倍,达到35.2ZB(1ZB=10亿TB)。大体量多样性(Variety)•互联网、移动互联网、物联网、车联网等等各种数据来源大数据的数据结构更加多样化:•图像、视频、微博•评价、邮件•PDF、office文档(word,excel,ppt)•手机呼叫、短信•网页点击•搜索(html,搜索行为)•地图gps……非结构化数据增长率就达80%,而传统的数据样式:多半是数据库表和xml。快速化(Velocity)•每秒钟,人们发送290封电子邮件;•每分钟人们在youtube上传20小时的视频;•人们每月在总共在facebook上浏览7000亿分钟;•移动互联网网用户发送和上传的数据量达到1.3exabytes,相当于10的18次方;•每秒淘宝商城成交178笔订单•……•实时股票分析(过期无用)•实时路况信息(过期无用)•……•数据的快速产生和实时响应是一大特征价值密度低(Value)•挖掘大数据的价值类似沙里淘金比如用户评价分析,几百万的评价记录,真正有借鉴意义的就几句比如视频监控,每天产生24小时的视频数据,真正有价值的就几秒钟。大数据的研究方向挑战一:大数据中有用信息的准确提取数据收集(1)利用大数据的开放性,全面收集各种多源异构数据集;(2)从数据质量角度分析数据源的准确性、一致性、及时性、相关性等特性,以获取高质量的数据。数据存储(1)用冗余配置、分布化和云计算技术对数据进行预处理;(2)存储时对数据进行分类,通过过滤和去重,减少存储量,并加入便于检索的标签。数据处理大数据的复杂性使得难以用传统的方法描述与度量,需要将高维图像等多媒体数据降维后度量与处理,利用上下文关联进行语义分析,从大量动态及可能模棱两可的数据中综合信息,并导出可理解的内容。可视化呈现(1)可视化目的是使结果更直观以便于洞察。(2)目前计算机只能针对小规模、结构化或类结构化的数据进行分析,无法深层次数据挖掘。(3)现有的数据挖掘算法在不同行业中难以通用。挑战二:大数据的信息安全隐私泄露风险加剧(1)大量数据的集中存储增加了其泄露的风险;(2)一些敏感数据的所有权和使用权并没有清晰界定。现有存储与安防措施带考验(1)复杂的数据存储在一起,可能造成企业安全管理不合规;(2)安全防护手段更新升级慢,存在漏洞。数据本身成为攻击手段(1)黑客可收集更多有用信息,大数据分析让攻击更精准;(2)大数据为黑客发起攻击提供了更多机会。•大数据开发方向–大数据系统研发工程师–大数据应用开发工程师——本次培训的方向–大数据可视化工程师–大数据分析师19/39HADOOP起源Hadoop的源起•DougCutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎•早期发布在个人网站和SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目•一个微缩版:Nutch从lucene到nutch,从nutch到hadoop•2003-2004年,Google公开了部分GFS和Mapreduce思想的细节,以此为基础DougCutting等人用了2年业余时间实现了DFS和Mapreduce机制,使Nutch性能飙升•Yahoo招安DougCutting及其项目•Hadoop于2005年秋天作为Lucene的子项目Nutch的一部分正式引入Apache基金会。•2008年4月,Hadoop成为世界上最快的TB级数据排序系统。•名字来源于DougCutting儿子的玩具大象Google三篇论文的启发---MapReduceGFSBigtablegooglehadoopmapreducemapreduceGFSHDFSBigtableHbaseHadoop简介Hadoop——Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成的集群上运行应用程序,为应用程序提供了一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统Hadoop云计算系统Google云计算系统HadoopHDFS分布式文件系统GoogleGFSHadoopMapReduce分布式处理模型GoogleMapReduceHadoopHBase分布式数据库GoogleBigtableHadoopZooKeeper解决分布式系统的一致性问题GoogleChubbyHadoopPig高级数据流语言GoogleSawzallHadoop云计算系统与Google云计算系统HADOOP特点与优势Hadoop优点•1、高可靠性HDFS分布式文件系统采用了备份恢复机制及MapReduce中的任务采用了监控机制,存储采用按位存储。•2、高扩展性Hadoop是在可用的计算机集群间进行数据的分配的,能扩展到数以千计的节点中。不管是存储还是计算,可扩展性都是其设计根本所在。•3、经济性Hadoop可以运行在廉价的PC上。•4、高容错性Hadoop采用自动保存数据的多个副本方式,并能自动为失败的任务进行重新分配。(冗余副本机制)•5、高效性更加完整的Hadoop2.x生态圈存储管理基本数据的处理随机数据读写、实时访问Hadoop简介Hadoop项目组成(1)HadoopCommon是为Hadoop其他子项目提供支持的常用工具,为廉价硬件上搭建云计算环境提供基本的服务。(2)HBase分布式开源数据库。(3)HDFS分布式文件系统(4)Hive数据仓库分析系统(5)MapReduce简化的分布式编程模式。(6)Pig用于并行计算的高级数据流语言和执行框架。(7)ZooKeeper开源的分布式应用程序协调服务。目前Hadoop达到的高度•实现云计算的事实标准开源软件。•包含数十个具有强大生命力的子项目。•已经能在数千节点上运行,处理数据量和排序时间不断打破世界纪录。HADOOP实现的基础原理可靠的海量存储、加快并行运算速度大数据处理的关键问题•存储——多节点分割存储,提高整个系统的存储量•计算——多节点分分割并行运算•容错——多节点分割存储(冗余存储)HDFS设计前提与目标设计前提与目标硬件错误是常态而不是异常,故障检测和恢复流式数据访问,批量处理,而不是交互式超大规模数据集简单一致性模型,一次写入,多次读取移动计算比移动数据更简单异构软硬件平台间的可移植性版本介绍•Hadoop发行版本ApacheHadoop大版本说明第二代Hadoop2.x.x下一代Hadoop,由0.23.x演化而来0.23.x下一代Hadoop,重构MapReduce框架并称为YARN第一代Hadoop1.0.x稳定版,由0.20.x演化而来0.22.x非稳定版0.21.x非稳定版0.20.x经典版本,加入新的JavaMapReduceAPI,最后演化成1.0.x33/391.x的基本运行原理与特点1.X的组要构成•HDFS•MAPREDUCE1.x体系结构HDFS主从结构体系NameNode:主控制服务器,负责维护文件系统的命名空间(Namespace)并协调客户端对文件的访问,记录命名空间内的任何改动或命名空间本身的属性改动DataNode:负责它们所在的物理节点上的存储管理保障可靠性的措施HDFS是在一个大集群中跨机器可靠地存储超大文件,数据按64MB分成大小等同的数据块。1.冗余备份每个文件存储成一系列数据块(Block),默认块大小为64MB(可配置)。为了容错,文件的所有数据块都会有副本(副本数量即复制因子,可配置)2.副本存放采用机架感知(Rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率复制因子为3时数据块分布情况保障可靠性的措施3.心跳检测NameNode周期性地从集群中的每个DataNode接受心跳包和块报告,收到心跳包说明该DataNode工作正常4.安全模式系统启动时,NameNode会进入一个安全模式。此时不会出现数据块的写操作5.数据完整性检测HDFS客户端软件实现了对HDFS文件内容的校验和(Checksum)检查保障可靠性的措施6.空间回收文件被用户或应用程序删除时,先把它移动到/trash目录里;只要还在这个目录里,文件就可以被迅速恢复7.元数据磁盘失效NameNode可以配置为支持维护映像文件和事务日志的多个副本,任何对映像文件或事务日志的修改,都将同步到它们的副本上8.快照快照支持存储某个时间的数据复制,当HDFS数据损坏时,可以回滚到过去一个已知正确的时间点。Hadoop的架构NamenodeHDFS的守护程序纪录元数据,记录文件是如何分割成数据块的,以及这些数据块被存储到哪些节点上对内存和I/O进行集中管理是个单点,发生故障将使集群崩溃SecondaryNamenode监控HDFS状态的辅助后台程序每个集群都有一个与NameNode进行通讯,定期保存HDFS元数据快照当NameNode故障可以作为备用NameNode使用但不能自动切换SecondaryNameNode:它不是HA,它只是阶段性的合并edits和fsimage,以缩短集群启动的时间。当NN失效的时候,SecondaryNN无法立刻提供服务,SecondaryNN甚至无法保证数据完