大数据基础

2023-11-19

1、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节点

--------------------------------------------------------------------------------------------------------------------------------------------

2、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:见面分一半 资源抢占;占用资源小于最低资源限制 则强制停止其他队列任务;队列中有任务等待,则根据权重分配

--------------------------------------------------------------------------------------------------------------------------------------------

3、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的过程:先写内存(内存中先分区后排序) 然后溢写硬盘 再合并(大文件的分区排序)

 

4、Spark


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

--------------------------------------------------------------------------------------------------------------------------------------------------

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

--------------------------------------------------------------------------------------------------------------------------------------------------

3.spark 角色?
1.driver;main函数在里面
2.sparContext:加载配置信息,初始化运行环境,创建DAGScheduler和TaskScheduler
3.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

5、Sqoop


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

--------------------------------------------------------------------------------------------------------------------------------------------------

6、Flume


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

--------------------------------------------------------------------------------------------------------------------------------------------------

7、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

--------------------------------------------------------------------------------------------------------------------------------------------------

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据基础 的相关文章

  • 虚拟计算技术

    虚拟计算的本质是资源共享 P2P计算 云计算 网格计算 普适计算都属于虚拟计算 一 概述 虚拟计算 Virtual Computing 的本质是资源共享 虚拟计算技术不仅能使人们更有效地共享现有的资源 而且能通过重组等手段 为人们提供更多

随机推荐

  • 这一次,我顿悟了

    大家好 我是苍何 昨晚和编程导航 星球嘉宾也是我的引路人闫 y n 小林大佬 畅聊了 4 个 小时 至今内心还是久久不能平静 小林和我一样是跨界转行 他是医学院毕业 大二开始自学编程 并写博客记录 迄今有 30 万编程学习者关注 毕业后在某
  • OSI七层模型以及各层的作用

    OSI七层模型 OSI七层模型包括 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 具体作用 物理层 主要定义物理设备标准 如网线的接口类型 各种传输介质的传输速率等 主要作用是传输bit流 主要设备 集线器 数据链路层 主要将
  • HMI智能串口屏——在STM32开发板上的实战应用及其详解

    HMI智能串口屏 在STM32开发板上的实战应用及其详解 一 HMI智能串口屏使用步骤 二 附录 一 HMI智能串口屏使用步骤 安装USART HMI软件 一般买的串口屏里面 商家送的资料里面都有改该软件 打开软件 并点击左上角的 新建 选
  • Unique Binary Search Trees -- LeetCode

    原题链接 http oj leetcode com problems unique binary search trees 这道题要求可行的二叉查找树的数量 其实二叉查找树可以任意取根 只要满足中序遍历有序的要求就可以 从处理子问题的角度来
  • 智能制造中的智能制造平台:应用案例介绍

    作者 禅与计算机程序设计艺术 智能制造中的智能制造平台 应用案例介绍 智能制造作为我国大力发展的重要战略 旨在通过改变传统制造业的生产模式 提高制造业的自主创新能力和核心竞争力 智能制造平台作为实现智能制造的核心基础 对于企业来说具有重要的
  • 春秋云镜:CVE-2019-9042(Sitemagic CMS v4.4 任意文件上传漏洞)

    一 题目 靶标介绍 Sitemagic CMS v4 4 index php SMExt SMFiles 存在任意文件上传漏洞 攻击者可上传恶意代码执行系统命令 进入题目 admin admin index php SMExt SMFile
  • .NET Core 下定时任务调度

    一 增加本地json持久化调度任务 无需数据库 1 首先 我们创建一个空白的ASP NET Core 项目 MVC Razor和WebAPI都行 如图 2 通过nuget引用最新版本的GZY Quartz MUI组件 如图 组件的项目地址G
  • hibernate与sqlserver的连接

    Hibernate是一个开放源代码的对象关系映射框架 它对JDBC进行了非常轻量级的对象封装 它将POJO与数据库表建立映射关系 是一个全自动的orm框架 hibernate可以自动生成SQL语句 自动执行 使得Java程序员可以随心所欲的
  • 【MySQL】sql给表起别名

    有时候 在对数据库中的表进行操作的时候 发现表名比较冗长 这时候我们就需要对表创建一个别名 别名的关键字为as 也可以不加 现在有一个student表 结构如下 现在我认为student太长了 我不想一直打 sql语句如下 select a
  • setTimeout异步

    同步任务和异步任务 同步和异步操作的区别就是是否阻碍后续代码的执行 同步任务是那些没有被引擎挂起 在主线程上排队执行的任务 只有前一个任务执行完毕 才能执行后一个任务 异步任务是那些被引擎放在一边 不进入主线程 而进入任务队列的任务 只有引
  • 【IEEE 13 节点分配系统中的THD降低】系统的谐波分析给出了各种总线上电流和电压的谐波频谱和THD(Simulink实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真实现 1 概述 IEEE 13 节点分配系统中的THD
  • 第三方微信登陆的后台实现

    关于微信第三方的开发 官方文档给了很详细的解析说明 有不清楚流程的同学可以先去官网学习 而我这里主要是整理一下自己的后台处理流程 其实微信登录就是通过用户的授权 允许app获取用户的微信信息 再往自己的数据库插入获取的信息 这里用手机app
  • 6. C++知识点之三目运算符

    三目运算符 C 有一个常用来代替if else语句的操作符 这个操作符被称为三木运算符 它是C 中唯一一个需要3个操作数的操作符 该操作符的通用格式如下 b a c 如果b为真 则整个表达式的值为a 否则表达式的值为c 下面两个语句演示了该
  • 千万并发连接下,如何保障网络性能

    点击一键订阅 云荐大咖 专栏 获取官方推荐精品内容 学技术不迷路 过去几十年互联网呈爆发式的增长 内容的丰富以及层出不穷的DDoS攻击等 对网络性能提出了极大的挑战 也同样促进了网络基础设施的快速发展 运营商的带宽越来越大 CPU 网卡等硬
  • Ubuntu /etc/security/limits.conf 不生效

    遇到报错 RuntimeError unable to open shared memory object in read write mode 查到的教程说需要ulimit n 设置一个比较大的数 用ulimit n 发现最大是1024
  • Element组件浅尝辄止5:Empty 空状态组件

    Empty空状态组件 空状态时的占位提示 如第一次进入当前功能模块时 数据状态为空 则展示空状态 可用到Empty组件 1 How
  • 可以向同事学学shader了

    今天无意中和同事聊天 发现他竟然会级联阴影 级联阴影不是新技术 但是我见过的 能用的真少 大多数停留在理论阶段 可能是我遇见的优秀的人不多吧 不管怎样 立足现在公司 多向高手学习
  • 《Effective Modern C++》第0章学习记录

    Acknowledgement C 0x C 11 C 14 Usenet newsgroup comp std c Stack Overflow Overview of the New C Modern C Design Going na
  • SQL语句大全(第21天) (转)

    第一大章 创建数据库 CREATE 创建 DATABASE 数据库 ace 数据库名字 打开数据库 USE 打开 ace 数据库名字 给表格 SHOW 显示 TABLES 所以列表名字 创建表 用户名 id ID user 用户 passw
  • 大数据基础

    1 HDFS 1 HDFS为什么不适合存储大量小文件 答 1 大量文件的元数据占用NameNode大量内存空间 2 磁盘寻道时间超过读取时间 2 HDFS 何时离开安全模式 答 ActiveNameNode启动时HDFS进入安全模式只读 d