TDH-大数据基础

it2022-05-05  115

------------------------------------------------------------------------------------*******大数据概念和基础**********1.大数据的四个特点:数据规模大,生成、处理速度快,数据类型多样,价值巨大密度低;2.大数据历史:三篇论文(GFS,mapReduce,bigTable),CDH,HBASE,SPARK,TDH等;-------------------------------------------------------------------------------

----------------------------------------------------------------------------------------****************HDFS*********************1.HDFS为什么不适合存储大量小文件? 答:1.大量文件的元数据占用NameNode大量内存空间 2.磁盘寻道时间超过读取时间-------------------------------------------------------------------------------------------- ----2.HDFS 何时离开安全模式?答:ActiveNameNode启动时HDFS进入安全模式只读,datanode主动汇报可用block的可用情况即上报率=可用block数量/namenode元数据记录的block数>=99.9%时离开安全模式-------------------------------------------------------------------------------------------------何时触发安全模式?1.namenode磁盘不够;2.DataNode无法启动;3.namenode重启;4.block上报率低阈值;5.日至报错;6.强制关机----------------------------------------------------------------------------------------------------3.ActiveNN与standbyNN的切换?答:QJM机制实现最终一致,允许延迟,journalnode(2N+1)只要N+1个写入成功即可,他写edits编辑日志文件,activeNN挂掉standbyNN状态变为active---------------------------------------------------------------------------------------------4.HDFS写文件过程?答:1.客户端请求上传文件,输入命令; 2.检查HDFS目录,允许上传; 3.客户端将文件切块block并请求namenode; 4.namenode返回datanode信息; 5.客户端与datanode建立传输,写成功后通知namenode;/先写数据再写日志 6.更新edits编辑日志(立即)和fsimage文件(定期)写入namenode,同时写入journalnode,最后写入内存(最新); 7.后面standbyNN与activeNN定期同步。------------------------------------------------------------------------------------ 5.HDFS优缺点?优点:高可用(nameNode HA),高容错(冗余多副本),高扩展(10k),海量数据,成本低缺点:大量小文件不可存,不支持并发写入,不支持低延时,不支持随机写---------------------------------------------------------------------------------------------6.HDFS元数据俩种存储方式?内存元数据:namenode文件元数据:edits+fsimage--------------------------------------------------------------------------------------------7.HDFs最小文件存储单元 block?1.存储在datanode,大小默认128M,多副本、均匀分布在多个datanode(默认三个副本);2.block放置策略:副本1放在clinet 副本2放在另一台机架,副本3放在和副本2一起的另外节点,其他随意;3.block文件 命名:“ blk blk_文件大小”-------------------------------------------------------------------------------------------------------8.HDFS各个角色 1.ActiveNN作用:唯一的集群管理节点;管理HDFS文件系统命名空间;维护元数据信息(文件位置、权限、块信息等);处理客户端请求;管理块策略 2.standbyNN作用:备份master节点宕机后替换activeNN;周期同步activeNN的edits文件,并定期合并fsimage文件和edits到本地磁盘; 3.nameNode作用:存储元数据(fsimage+edits),fsimage(文件块信息、位置、目录、副本数),edits(文件操作记录) 4.dataNode作用:Slive工作节点;存储数据block;定期与namenode心跳汇报block信息(集群启动有可用block数汇报);客户端的数据读写操作;---------------------------------------------------------------------------------------------9.HDFS高可用?通过QJM机制部署2N+1个journalNode节点,N+1个操作成功(写edits)即可,利用ZK选举Active节点

-------------------------------------------------------------------------------***********************YARN*************************************-------------------------------------------------------------------------------1.yarn与mapreduce的关系?答: 1.yarn是资源调度框架,mapreduce是分布式计算框架; 2.yarn将jobTracker的资源管理和任务调度划分开了,通过ResourceManager进行资源的统一管理和分配,ApplicationManager进行解析mapreduce程序然后变成一个个小任务,需要多少资源向ResourceManager请求,然后nodeManager和applicationManager协作分配containner执行任务。

2.如何部署yarn RM NM和hdfs的datanode namenode节点? 答:1.dataNode和nodeManager放在一起 2.yarn的ResourceManager单独放 3.俩个active不放在一起,standby节点放在别的节点 4.namenode 和RM 至少俩个3.Yarn三个角色ResourceManager/applicationManager/nodeManager介绍?ResourceManager:统一管理集群的所有资源,分配资源给applicationManager,接受nodemanager资源上报信息applicationManager:管理应用程序,申请资源,任务调度nodeManager:管理单个节点资源,上报资源使用,管理container生命周期

4.ResourceManagerHA高可用?1个activeRM 多个standby RM;ZK选举ActiveRM,宕机后主备切换;

5.yarn的资源调度策略? 1.FiFo Scheduler:先进先出,不灵活,利用率低; 2.capacity Scheduler:提前做预算;多个队列共享资源;空闲资源优先给实际资源/预算资源小的队列; 特点:弹性分配;多租户;多层次;保证容量 3.fair scheduler:见面分一半 资源抢占;占用资源小于最低资源限制 则强制停止其他队列任务;队列中有任务等待,则根据权重分配-------------------------------------------------------------------------------***********************mapreduce*************************************-------------------------------------------------------------------------------1.mapreduce核心思想?1.分治思想;2.移动计算而不是移动数据

2.特点:计算跟着数据走,批处理,高容错,扩展好

3.MR的几个阶段?split:Split的大小默认 等于 Block大小,决定map任务数量;map:split切片输入,key-value输出reduce:由若干Reduce任务组成,数量由程序指定shuffle:中间环节,包括分区(哈希取模)将map中间结果输出到buffer区,然后分区排序,当达到阈值溢将一个临时文件写到磁盘上,map任务结束前临时文件合并为一个map文件,fetch等

Partition决定了Map任务输出的每条数据放入哪个分区,交给哪个Reduce任务处理• Reduce任务的数量决定了Partition数量• Partition编号 = Reduce任务编号 =“key hashcode % reduce task number”

Hadoop1和2的区别?1.1有单点故障,资源描述简单,负载太重;2融合yarn 高可用,高扩展,资源有专门的角色管理,任务和资源分开

4.mapreduce key-value输入输出的原因?答: 1.通用数据格式 2.shuffle过程要排序合并,哈希取模可以决定分区partition

5.shuffle是调优关键?答:shuffle的过程:先写内存(内存中先分区后排序) 然后溢写硬盘 再合并(大文件的分区排序)

-------------------------------------------------------------------------------***********************spark*************************************-------------------------------------------------------------------------------1.RDD?数据集拆分;数据存储在内存或者磁盘;多分区;失效自动重构;转换操作构造

2.RDD俩种依赖?窄依赖(父RDD中的分区最多只能被一个子RDD的一个分区使用)和宽依赖(子RDD依赖于所有父RDD)

3.spark 角色?1.driver;main函数在里面2.sparContext:加载配置信息,初始化运行环境,创建DAGScheduler和TaskScheduler3.Executor:可以有多个 多线程4.task:

4.spark的几种运行模式?1.local:单机运行,spark以多线程形式运行在本地;2.standlone:集群运行(规模不大)3.yarn-client/yarn-cluster(生产环境);

5.spark运行过程:生成逻辑查询计划-物理查询计划-任务调度-执行任务

6.mapreduce比起saprk优缺点:答:1.通用性强 2.mapreduce对现实的描述过于简单只有map,reduce俩个,spark细分rdd,分多个partition

----------------------------------------------------------------********************Sqoop*********************------------------------------------------------------------Sqoop:用于rdbms和hadoop之间的数据导入导出1.1和2版本的对比:1.不安全,但是简单快速高效,2.增加安全机制,多用户,集中管理,稳定性和速度都不好

----------------------------------------------------------------********************flume*********************-----------------------------------------------------------1.数据流模式:source---channel(可以缓存)---sink2.事务机制:支持重读重写3.agent:jvm的运行单元,将外部数据送到目的地,内涵一个数据流,以event作为数据单元进行传输4.1个souece对应多个channel,1channel对应1个sink5.flume单层架构(数据暴露,安全性差,产生许多小文件),多层架构(安全但是复杂)

-----------------------------------------------------------------********************kafka*****************------------------------------------------------------------------1.kafka的几个角色? broker:server; topic:消息贴标签组成一类 分类的过程,同一类,方便处理,有了topic 就可以隔离其他类数据,他是一个逻辑概念; partiion:物理概念要落盘 不可更改只读,一个topic多个分区,一个分区一个目录,一个分区代表一个文件夹 一个分区多个副本 放在不同的broker上; zk:broker的负载均衡,leader的选举,元数据存储,CG之间的rebalance,配置管理等;2.kafka的partiton是一个先进先出队列,写入消息追加尾部,消费消息在队列头部;

3.kafka的CG内部的cosumer是互斥的,不同CG之间是共享消息的;

4.kafka最小数据存储单元是segment,它包含(offset.index offset.timeindex,offset.log)三个文件,offset是消息在分区中的唯一标识,他是有序的。offset.index数据格式:偏移量,位置;offset.timeindex数据格式:时间,偏移量;

5.kafka机制: 消息在broker中(server)按照topic分类,打上标签;然后 每个topic划分为多个partition,每个partition进行 多个备份副本;多个consumer组成CG 进行订阅消费数据

6.队列在资源调度的作用?答:共享集群资源,隔离任务

7.kafka分了topic和partition作用?答:利用多分区多副本实现高可用,一个topic(逻辑概念)代表一类数据,一个topic分为多个partition(物理概念), 一个partition为一个文件夹表示一种业务

8.kafka partition leader 和follower如何工作》?答:partition leader 是选举出来的主要负责一个分区的读写;follower同步分区信息到各个副本

9.zookeeper为什么不亲自负责kafka的partition和副本之间的leader的选举?答:通过Zookeeper,从Kafka集群中选举出一个Broker作为Kafka Controller Leader• Kafka Controller Leader负责管理Kafka集群的分区和副本状态,避免分区副本直接在Zookeeper上注册Watcher和竞争创建临时Znode,导致Zookeeper集群负载过重,Kafka Controller Leader通过ISR(分区和备份列表)来选举partition Leader

-----------------------------------------------------------------********************inceptor*****************------------------------------------------------------------------1.架构? 1.metastore:元数据存储在TxSQL 2.client:waterdrop

2.数据模型?1.database:系统会为每个数据库创建一个目录,目录名=数据库名.db;先删表再删库;2.table:内表:外表:3.分区: 含义:将表按照某个或某几个字段(分区键) 划分为更小的数据集; 存储:分区数据存储在表目录下的子目录中,一个分区对应一个子目录,分区目录名为“分区键=value”; 目的:减少全盘扫描,提高查询效率 选取分区键:离散值、大量出现再select where中4.分桶: 1.分桶时候 俩张表同样操作,join的列,表一 join表二 where A1=A2 俩表各自利用哈希取模分桶, 同样值的分在同样的桶里面,分桶有"打散"和"聚合"的功能(同样值的在一个桶,也可能成倍数的桶里) 2.提高取样效率; 3.先分区再分桶;

5.读时模式: 数据入库不检查规范性,在查询时验证

-----------------------------------------------------------------********************slipertream*****************------------------------------------------------------------------1.输入流的模式:微批(Micro-batch)模式:将Input Stream按时间划分成若干小数据块(Batch)来处理;事件驱动(Event-driven)模式:以单条数据被Input Stream接收为事件,逐条读取并处理;

2.Derived Stream(衍生流)含义:对已有的Stream变形(Transform)得来-Transform通常由CSAS(Create Stream As Select)完成3.streamSQL与普通SQL的区别无阻塞模式

-----------------------------------------------------------------********************hyperbase*****************------------------------------------------------------------------1.特点:高可靠,高并发,高性能,基于列, key-value存储,半结构化,newSQL,HFile落地,数据强一致性

2.表结构: RowKey | 列族 | 列限定符 | 时间戳3.表特点:多版本,稀疏,无类型,动态增加列,大规模,4.角色? HMaster: 管理元数据; 管理表的创建、删除和修改; 为HRegionServer分配Region; HRegionServer宕机后,重新分配其上的Region; 负责HRegionServer的负载均衡; HRegionServer: 处理客户端请求; region的分裂; storeFile的合并; ZK: HMaster高可用; 监控HRegionServer的上下线信息, 并通知HMaster; 存储元数据的寻址入口; 存储所有Region的寻址入口;5.数据存储过程? 1.Client 访问ZK获取meta表的region位置,然后记录在ClientCache中; 2.读取meta表,根据namespace/表名、rowkey获取要写入的region位置,并将meta表写入ClientCache中; 3.HRegionServer先写HLog文件(数据和操作); 4.HRegionServer先写MemStore,当数据量超过阈值时,溢写到磁盘为一个storefile(Hfile); 5.当Store中的StoreFile数量超过阈值时,若干小StoreFile合并为一个大StoreFile; 6.当Region中最大Store的大小超过阈值时,region会等分为两个子Region;

6.数据读过程?1.12步骤同写过程;2.先从memStore读再从storeFile中读;

7.

----------------------------------------------------------------**********************search***********************----------------------------------------------------------------1.es基于lucene(单机),solr(实时性能差),search增加了sql;

 

转载于:https://www.cnblogs.com/Lxiaojiang/p/9599961.html

相关资源:星环-transwarp-inceptor使用手册

最新回复(0)