大数据面试一锅炖

一、mapreduce
  • 客户端提交任务到yarn 资源调度分配task数量,输入文件split成片,每片由每个task计算,map成k v模式,写入环形缓冲区,分区 排序,80%之后溢写到本地再归并排序或者combiner合并,
    相同分区数据进入一个reduce,归并排序。最后输出。
二、hdfs读写|hbase读写

hdfs写:
客户端向namenode申请上传文件,namenode检查文件及父目录是否存在,不存在的话返回datanode节点。
上传block块,请求datanode1,dn1调用dn2,dn2调用dn3建立通道,上传到dn1,以packet为单位,分发给dn2 dn3。关闭连接。
请求namenode上传第二个block块。依次循环

hdfs读:
客户端向nn申请读文件,namenode查询元数据信息,就近原则返回dn节点,dn开始传输数据,以packet为单位,客户端接收到数据,本地缓存,最后写入目标文件。

hbase读:
客户端向zookeeper请求读文件,zookeeper查询元数据信息,根据namespace,表名,及列族找到文件所在的region,根据region找到对应regionserver,客户端请求regionserver读取region上的文件,
先从memorystore读,再读blockcache。如果没有就读storefile。从storefile读的数据先在内存缓存然后再写入目标文件。

hbase写:
客户端向zookeeper请求写文件,zookeeper查询元数据及列族,namespar,表名找到表的region位置,找到region对应的regionserver发送写数据请求。
同时写入到Hlog和memorystore,memorystore溢出刷到磁盘storefile,删除Hlog历史数据。

三、hdfs

datanode和namenode工作机制
第一次启动 格式化namenode,创建fsimage和edits log,只需要加载一次fsimage
第二次重启,加载fsimage和edits log,合并操作,生成新的edits log.启动过程有30秒等待时间 为安全模式

四、yarn

在YARN HA中,有两个主要组件:ResourceManager(RM)和NodeManager(NM)。ResourceManager负责管理和调度集群资源,NodeManager负责在每个节点上运行和监控应用程序的执行

Yarn工作机制简述
1、用户使用客户端向 RM 提交一个任务job,同时指定提交到哪个队列和需要多少资源。
2、RM 在收到任务提交的请求后,先根据资源和队列是否满足要求选择一个 NM,通知它启动一个ApplicationMaster(AM) container,后续流程由它发起
3、AM 向 RM 注册后根据自己任务的需要,向 RM 申请 container,包括数量、所需资源量、所在位置等因素。
4、如果队列有足够资源,RM 会将 container 分配给有足够剩余资源的 NM,由 AM 通知 NM 启动 container。
5、container 启动后执行具体的任务,处理分给自己的数据。NM 除了负责启动 container,还负责监控它的资源使用状况以及是否失败退出等工作,如果container实际使用的内存超过申请时指定的内存,会将其杀死,保证其他 container 能正常运行。
6、各个 container 向 AM 汇报自己的进度,都完成后,AM 向 RM 注销任务并退出,RM 通知 NM 杀死对应的 container,任务结束。

yarn队列模式
先入先出调度-单队列-任务等待
容量调度器-多队列-内部采用FIFO调度-优先使用资源利用率低的队列
公平调度-多队列-内部公平分享资源-优先选择对资源缺额比例大的(某一时刻一个作业应获资源和实际获取资源的差额叫“缺额”)。

五、数据库模型

星型:事实表为中心,延展的维度表,
雪花:星型的扩展,星型维度表的细分
星座:多个星型构建成一个星座,分离的事实表,公用维度表,像星辰一样

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值