点击进入习题专辑(含答案)
文章目录
一、大数据发展趋势与鲲鹏大数据
导读
大数据时代的机遇与挑战
华为鲲鹏解决方案
课后习题
二、HDFS分布式文件管理系统和ZooKeeper
导读
HDFS分布式文件管理系统
ZooKeeper
课后习题
三、Hive分布式数据仓库
导读
Hive概述
Hive功能与架构
Hive基本操作
课后习题
四、HBase技术原理
导读
HBase基本介绍
HBase相关概念
HBase架构
HBase关键流程
HBase突出特点
HBase性能优化
HBase常用Shell命令
课后习题
五、MapReduce和Yarn技术原理
导读
MapReduce和Yarn基本介绍
MapReduce和Yarn功能与架构
Yarn的资源管理和任务调度
增强特性
课后习题
六、Spark基于内存的分布式计算
导读
Spark概述
Spark数据结构
Spark原理与架构
课后习题
七、Flink流批一体分布式实时处理引擎
导读
Flink原理及架构
Flink的Time与Window
Flink的Watermark
Flink的容错
课后习题
八、Flume海量日志聚合
导读
Flume简介及架构
Flume关键特性介绍
Flume应用举例
课后习题
九、Loader数据转换
导读
Loader简介
Loader作业管理
课后习题
十、Kafka分布式信息订阅系统
导读
Kafka简介
Kafka架构与功能
Kafka数据管理
课后习题
十一、LDAP Kerberos
导读
统一身份认证管理
目录服务及Ldap基本原理介绍
单点登录及Kerberos基本原理介绍
华为大数据安全认证场景架构
课后习题
十二、分布式全文检索服务ElasticSearch
导读
ElasticSearch简介
ElasticSearch系统架构
ElasticSearch关键特性
课后习题
十三、Redis内存数据库
导读
Redis应用场景
Redis业务流程
Redis特性及数据类型
Redis的优化
Redis的应用案例
课后习题
十四、华为大数据解决方案
导读
ICT行业发展趋势概述
华为大数据服务
华为数据湖服务
课后习题
一、大数据发展趋势与鲲鹏大数据
导读
-
大数据从什么地方来?这些数据有哪些特点?
-
大数据可以应用在哪些社会领域?
-
大数据面临哪些挑战?
大数据时代的机遇与挑战
- 大数据的定义
在3V的基础上,业界对4V的定义加上了价值密度低(Value),而IBM对4V的定义加上了
真实准确(Veracity)。
目前对大数据尚未有一个公认的定义,不同的定义基本上是从特征出发,试图给出大数据
的定义
- 大数据处理与传统数据处理的差异
- 企业级大数据平台应用场景
• 社交网络和物联网技术拓展了数据采集技术渠道。
• 分布式存储和计算技术夯实了大数据处理的技术基础。
• 深度神经网络等新兴技术开辟大数据分析技术的新时代。
- 大数据应用的主要计算模式
- Hadoop大数据生态圈
Hadoop成为大数据批量处理的基础,但无法提供实时分析。
-
传统数据处理遭遇天花板
-
面临的挑战
▫ 业务部门无清晰的大数据需求
▫ 企业内数据孤岛严重
▫ 数据可用性低,质量差
▫ 数据相关管理技术和结构
▫ 数据安全问题
▫ 大数据人才的缺乏
▫ 数据开放与隐私的权衡 -
带来的机遇
▫ 大数据挖掘成为商业分析的核心
▫ 大数据成为信息技术应用的支撑点
▫ 大数据成为信息产业持续增长的新引擎
华为鲲鹏解决方案
- 基于鲲鹏处理器,构建整机计算功能
第一代TaiShan 100服务器是基于鲲鹏916处理器,2016年推出市场。2019年推出TaiShan
200服务器基于最新的鲲鹏920处理器,是市场的主打产品。
-
鲲鹏生态兼容的操作系统
-
华为云鲲鹏云服务支持丰富场景
-
华为大数据解决方案优势
高安全:
▫ 服务器及大数据平台自主可控
▫ 芯片级数据加密,数据不失密
高性能:
▫ 比同档通用服务器性能提升30%
▫ 支持5000+节点大数据集群
高效能:
▫ 比通用服务器能耗降低30%
▫ 同等算力需求下,机架空间省30% -
华为云大数据服务
DAYU寓意“大禹”治水, 围绕着企业数据湖,提供一站式数据资产管理、开发、探索和
共享能力。
- 华为云MRS服务综述
- 华为云MRS服务的优势
CarbonData是一种新型的Apache Hadoop本地文件格式,使用先进的列式存储、索引、压
缩和编码技术,以提高计算效率,有助于加速超过PB数量级的数据查询,可用于更快的交
互查询。同时,CarbonData也是一种将数据源与Spark集成的高性能分析引擎。
- 华为云MRS服务应用场景
• 实时数据处理通常用于异常检测、欺诈识别、基于规则告警、业务流程监控等场景,在数
据输入系统的过程中,对数据进行处理。
• 例如在梯联网行业,智能电梯的数据,实时传入到MRS的流式集群中进行实时告警
课后习题
- 判断题
- 单选题
- 多选题
返回目录
二、HDFS分布式文件管理系统和ZooKeeper
导读
- 大数据平台提供的最基本的两个功能是什么?
存储和计算能力
- HDFS主要包括哪些角色?
NameNode,DataNode,Client
- 大数据生态圈组件为什么需要Zookeeper去提供分布式协调?
HDFS分布式文件管理系统
-
特性
高容错性:认为硬件总是不可靠的;
高吞吐量:对大量数据访问的应用提供吞吐量支持;
大文件存储:支持存储TB-PB级别的数据。
擅长:大文件存储与访问、流式数据访问
不擅长:大量小文件存储、随机写入、低延迟读取 -
基本系统架构
HDFS架构包含三个部分:NameNode,DataNode,Client。
▫ NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。
▫ DataNode:DataNode用于存储实际的数据,将自己管理的数据块上报给NameNode ,运行多个实例。
▫ Client:支持业务访问HDFS,从NameNode ,DataNode获取数据返回给业务。多个实例,和业务一起运行。 -
Block 块
HDFS默认一个块128MB,一个文件被分成多个块,以块做存储单位。
抽象的块概念可以带来一下几个明显的好处:
• 支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量
• 简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据
• 适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性 -
NameNode 和 DataNodes
NameNode | DataNodes |
---|---|
存储元数据 | 存储文件内容 |
元数据保存在内存中 | 文件内容保存在磁盘中 |
保存文件 block,datanode之间的映射关系 | 维护了block id 到datanode本地文件的映射关系 |
1、在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLog
▫ FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
▫ 操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作
名称节点(NameNode)记录了每个文件中各个块所在的数据节点的位置信息
2、数据节点(DataNode)是分布式文件管理系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并向名称节点自己所存储的块的列表。
每个数据节点的数据会被保存在各自节点的本地Linux文件系统中
-
HDFS体系结构
-
HDFS通信协议
-
HDFS高可用性(HA)
HDFS的高可靠性(HA)主要体现在利用zookeeper实现主备NameNode,以解决单点
NameNode故障问题。
ZKFC(ZooKeeper Failover Controller) 用于监控NameNode节点的主备状态。
ZKFC控制NameNode主备仲裁
▫ ZKFC作为一个精简的仲裁代理,其利用zookeeper的分布式锁功能,实现主备仲裁,再通过命令通道,控制NameNode的主备状态。ZKFC与NN部署在一起,两者个数相
同。
JN(JournalNode) 用于存储Active NameNode生成的Editlog。Standby NameNode加载JN
上Editlog,同步元数据。
-
元数据的持久化
FSImage.ckpt: 在内存中对fsimage文件和EditLog文件合并(merge)后产生新的fsimage,写到磁盘上,这个过程叫checkpoint.。
EditLog.new: NameNode每隔1小时或Editlog满64MB就触发合并,合并时,将数据传到Standby NameNode时,因数据读写不能同步进行,此时NameNode产生一个新的日志文件Editlog.new用来存放这段时间的操作日志。 -
HDFS联邦(Federation)
各NameNode间元数据不共享,每个NameNode都有对应的standby,两两之间并不互相通信,一个失效也不会影响其他NameNode
-
数据副本机制
副本距离计算公式:
▫ Distance(Rack1/D1, Rack1/D1)=0,
▫ 同一台服务器的距离为0。
▫ Distance(Rack1/D1, Rack1/D3)=2,
▫ 同一机架不同的服务器距离为2。
▫ Distance(Rack1/D1, Rack2/D1)=4,
▫ 不同机架的服务器距离为4。
▫ 不同数据中心的节点距离为6。
副本放置策略:
第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点
第二个副本:放置在与第一个副本不同的机架的节点上
第三个副本:与第一个副本相同机架的其他节点上
更多副本:随机节点 -
HDFS常用shell命令
-
HDFS数据写入流程
-
HDFS数据读取流程
ZooKeeper
- ZooKeeper体系架构
2x+1个节点与2x+2个节点的容灾能力相同(3个与4个相同,5个与6个相同…),考虑到选举以及完成写操作的速度与节点数的相关性,ZooKeeper应部署奇数个节点。
-
ZooKeeper关键特性
-
ZooKeeper读特性
-
ZooKeeper写特性
1、同读请求一样,客户端可以向任一server提出写请求,server将这一请求发送给leader。
2、leader获取写请求后,会向所有节点发送这条写请求信息,询问是否能够执行这次写
操作。
3、 follower节点根据自身情况给出反馈信息ACK应答消息,leader根据反馈信息,若获
取到的可以执行写操作的数量大于实例总数的一半,则认为本次写操作可执行。
4、 leader将结果反馈给各follower,并完成写操作,各follower节点同步leader的数据,
本次写操作完成。 -
ZooKeeper客户端常用命令
课后习题
思考题:
1.ZooKeeper为什么建议基数部署?
容灾能力相同,但部署成本低
2.HDFS数据块为什么一般比磁盘块大?
块比磁盘大,目的是为了最小化寻址开销。块足够大,那么从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。但也不能太大,因为map通常只处理一个块中的数据。如果Map数太少,则作业运行速度会比较慢
3.HDFS在数据写入时,能读取到吗?
当数据在写入的时候,写入数据不能立即可见,在命令空间是立即可见的。当写入超过一个块或者结束的时候,对一个新的reader就是可见的。当前正在写入的块,对其他reader是不可见的
判断题:
单选题:
多选题:
<1.Namespace(命名空间)的限制
由于Namenode在内存中存储所有的元数据(metadata),因此单个Namenode所能存储的对象(文件+块)数目收到Namenode所在JVM的heap size的限制。
2.性能的瓶颈(吞吐量)
由于是单个NameNode的HDFS架构,因此整个HDFS文件系统的吞吐量受限于单个Namenode的吞吐量。
3.隔离问题
由于HDFS仅有一个Namenode,无法隔离各个程序,因此HDFS上的一个实验程序就很有可能影响整个HDFS上运行的程序。
4.集群的可用性
在只有一个Namenode的HDFS中,此Namenode的宕机无疑会导致整个集群不可用。