大数据复习课件_第1页
大数据复习课件_第2页
大数据复习课件_第3页
大数据复习课件_第4页
大数据复习课件_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大数据复习演讲人2020-11-02Linux01常用命令top查看内存2014df -h查看磁盘2015netstart -tunlp | grep查看端口占用情况2016ll 2017子主题 2018shell脚本LinuxHadoop02HadoopHDFSMapReduceYarn调度器HadoopHDFSHDFS会将完整的文件切分成一个个的block(默认128M),并将这些block分布到各个集群上03系统架构04分布式存储文件系统01读写流程02读取流程 1.client先向NameNode申请要读取的文件2.NN获取该文件所存储的DN位置,并返回给client3.client在

2、从指定的DN上拉取数据写入流程 1.向NN申请上传文件2.响应后,clinet会发送第一个block数据3.创建一个通道(parpline),用于数据传输,并有应答机制来保证数据是否成功传输完成4.返回ack后,才会继续传输,直到文件上传完成读写流程NN存储元数据信息,管理读写操作系统架构存储block心跳机制 3s会向NN汇报block的位置信息,安全机制DNSSN加快NN的启动时间系统架构HadoopMapReduceSTEP4STEP3STEP2STEP1mapreduce是hadoop的计算框架执行流程MR的计算也是基于内存计算是非常快的,但涉及到多次数据落地到磁盘和网络的IO传输,影

3、响到其整体的运行效率,这也是MR最大的致命数据倾斜问题执行流程1.每个block对应split2.每一个split会分配一个maptask来处理5.溢写会对数据进行分区(按照key的hash值进行分区),排序(字典排序)3.maptask会将数据写入到KVbuffle4.KVBuffle会将数据优先写入到内存中,当达到阈值(80%)时开始溢写6.溢写的文件还会merga成大文件并分区执行流程1237.reducetask根据分区拉取merga文件(reduce的数量对应map的数量)8.reducetask会进行合并排序,并把文件传到reduce9.reduce会对这些文件归并,并最终传输到H

4、DFS上123在溢写下可选择combiner进行轻度的汇总,减轻reducetask要处理的数据量执行流程4.KVBuffle会将数据优先写入到内存中,当达到阈值(80%)时开始溢写HadoopYarn架构01执行流程02hadoop2.X升级后出现yarn,由于hadoop1.x的伸缩性差,并且namenode只有一个,容易出现单点故障03ResourceManager 资源分配管理器NodeManager架构执行流程4.容器运行期间会向RM汇报心跳,当任务执行完成后,application会向RM注销释放容器资源3.NM接收到app时,会初始化容器,并对这个app启动对应的APPMaste

5、r实例2.RM会将app拆分成多个task并根据资源调度器来分配NM1.client会向RM申请application资源,RM返回资源路径,提交jobCBADHadoop调度器FIFO容量调度器公平调度器单队列,先进先出FIFO容量调度器企业中推荐多队列,也是先进先出,每个队列在同一阶段只有一个任务执行,队列数是队列的并行度数多队列,每个队列内部按照缺额大小进行分配资源启动任务公平调度器Hive03Hivehive可以将sql语句解析成MR程序的分布式计算工具架构操作存储格式Hive架构P2P1元数据解析器P3存储层mysql元数据hdfs存储层Hive操作ADDL(表操作)C外部表和内部表

6、BDML(CRUD操作)Dhive优化DDL(表操作)create external table if not exists tablename( colname datatype comment 。 ) comment . partitioned by clustered by sorted by row format stored as 2016partitioned by(name String)20172015创建表数据类型分区表select from 大致与sql语句相同分区排序查询常用查询函数字段排序rank row_number 01 case when02lateral vie

7、w explore列转行04nvl(s1,-1)空值赋值处理03 窗口函数05DML(CRUD操作)UDF自定义函数实现UDF-实现evaluate方法-add jar -create functionload data (local本地) inpath 路径 overwrite into table 表名DML(CRUD操作)加载数据外部表和内部表删除外部表,只会删除元数据信息,并不会将真实数据删除(存储在HDFS上)关键字External修饰外部表删除内部表,会将元数据和真实数据全部删除内部表alter table 表名 set tblproperties(EXTERNAL=TRUE);可

8、以互相转换表优化小表在前,大表在后小表 join 大表01解决大表 join 大表02 开启预聚合04点击此处添加正文内容map join03 动态分区05hive优化sql语句调优CBAgroup by代替distinct列裁剪sort by代替order by三种方式HARSequenceFileCombiner小文件合并hive优化压缩ORC,可以加快map端的数据网络IO到reduce,需自己安装,压缩后可切分bzipgzipsnappy合理设置map数hive优化增加减少JVM重用hive优化Hive存储格式textFile01RCFile02ORCFile03SEQUENCEFIL

9、E04默认格式textFile推荐,列式存储RCFile推荐,RCFile改良版ORCFileHbase04Hbasehabse是高性能,高可靠,基于列存储的非关系型数据库架构rowkey设计原则热点问题hbase读写流程Hbase优化过滤器HbaseHbase架构HMasterHRegionServerZK负责管理RegionServer和读写操作HMaster存储数据,执行由HMaster分配的RegionHRegionServer预写日志,记录RegionServer的一系列操作,以防宕机丢失数据HRegionServerHlogStore0102 列族内存写入,达到阈值(128M)开始

10、溢写磁盘,生成StoreFilememstore03当单个storeFile超过阈值会分成2个相等的sorefilestorFile表信息,一个RegionServer可以有多个region,一个region只能有一个regionServerHRegionServerRegion存储元数据信息,监控和调度HMaster三级寻址 zk记录root表信息,从root表在找到meat表信息,meat表信息记录真实数据ZKHbaserowkey设计原则长度原则01散列原则02唯一性原则03不超过64kb长度原则避免相同key数据走单个regionserver处理,出现数据热点问题散列原则hbase的r

11、owkey是按照字典排序,利用这点,可以顺序存储唯一性原则Hbase热点问题单个regionserver处理过多的数据,从而影响到其他regionserver的运行,甚至宕机解决办法0201解决办法哈希字符串反转加盐Hbasehbase读写流程P1读流程P2写流程读流程2131.先从zk获取到regionserver位置信息2.regionserver会优先找catch文件查看需要读取文件是否存在,如存在直接返回读取3.没有,则去region找到store,先读取memstore数据44.如果没有在去读取storeFile数据写流程 1.获取到regionserver位置信息,对应的regio

12、n表信息 2.先去Hlog写入日志,只有Hlog写入成功才会继续,在去region写入数据,region会优先去memstore写入 3.当memstore写入数据达到阈值会将数据溢写到磁盘,并生成storefile当storefile太小,会进行合并,生成大的storefile文件4.storefile的数据量也达到阈值也会划分成两个相等的storefileHbaseHbase优化1子主题2子主题过滤器布隆过滤器HbaseFlume05Flumeflume可以将实时生成的日志信息流入到HDFS上的日志收集系统子主题过滤器架构操作Flume采集数据会丢失吗?(防止数据丢失的机制)LOGOFlu

13、me架构ABCsourceChannelsinksource一般而言,最广泛地还是日志文件架构缓冲区memory channelfile channelChannel架构sinkABhdfskafkaFlume操作hdfs sinkkafka sinkflme-ng agent -conf path -name a1 -conf-file 具体的配置路径 编写相应的配置文件编写相应的配置文件操作操作 flme-ng agent -conf path -name a1 -conf-file 具体的配置路径 01a1.channels = c1 a1.sinks = k1 a1.sinks.k1.

14、type = hdfs a1.sinks.k1.channel = c1 a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/%S a1.sinks.k1.hdfs.filePrefix = events- a1.sinks.k1.hdfs.round = true a1.sinks.k1.hdfs.roundValue = 10 a1.sinks.k1.hdfs.roundUnit = minutehdfs sink02kafka sink a1.sinks.k1.type = org.apache.flume.sink.kafka.Kaf

15、kaSink a1.sinks.k1.topic = mytopic a1.sinks.k1.brokerList = localhost:9092 a1.sinks.k1.requiredAcks = 1 a1.sinks.k1.batchSize = 20 a1.sinks.k1.channel = c1操作FlumeFlume采集数据会丢失吗?(防止数据丢失的机制)不会,channel的数据是存储在file中,数据传输自身有事务。01put02take03Flume采集数据会丢失吗?(防止数据丢失的机制)不会,channel的数据是存储在file中,数据传输自身有事务。takeputSq

16、oop06Sqoop操作可以将HDFS的数据导入到muysql上,也可以从mysql导入到hdfs的数据迁移工具操作Sqoop导入(import)导出(export)一般而言都是写成脚本的方式运行导入(import)sqoop import -connect jdbc:mysql:/node01:3306/sqoop -username root -password 123456 -table 表名 -target-dir /user/sqoop -num-mapper 1 -fields-terminated-by t 操作导出(export)sqoop export -connect jd

17、bc:mysql:/node01:3306/sqoop -username root -password 123456 -table 表名 -export-dir /user/sqoop -num-mapper 1 -input-fields-terminated-by t 操作export -connect jdbc:mysql:/node01:3306/sqoop -username root -password 123456 脚本文件不需要刚开始的sqoop命令sqoop -options-file 文件一般而言都是写成脚本的方式运行Redis07基于内存存储的k,v格式的非关系型数据库

18、Redis数据类型RedisP4P3P2P1listhashmapsetP5zsetredis支持一主多从的模式架构,主节点支持读写操作,从节点只支持读操作Redis主从复制哨兵机制sentinel.conf 监控哨兵不断的检查主从服务器的状态防止主从复制带来的单节点故障,如主节点宕机就会使redis丢失写入功能,只能读 当主节点宕机,会从从节点选举成为新的主节点 redis集群HARedisAOF 基于内存存储日志,容易丢失,存储的是操作命令,数据恢复起来慢,但启动速度快RDB 基于磁盘存储日志,不容易丢失,存储的是数据本身,数据恢复起来快,但启动速度慢持久化方式Es08Es分布式搜索引擎A倒排索引B数据存储结构C基本命令D分片和备份E架构FJavaAPIEsZK09ZK分布式协调管理工具,多用于大数据管理或协调各个组件的工作架构功能操作ZK架构le

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论