“强国杯”半决赛

Hadoop基础知识

♚Hadoop的认识
1.hadoop是google公司三篇论文思想的实现
①hdfs—gfs ②mapreduce-mapreduce③hbase-bigtable
2.hadoop版本的演变
经历三代,与一代相比二代最明显变化增加yarn
3.hadoop特点
①高可靠性②高拓展性③高效性④高容错性
4.狭义的hadoop包括:hdfs、mapreduce、yarn
5.广义的hadoop是一个很庞大的体系,具有众多组件
6.hadoop的应用场景:①旅游行业②移动数据③电子商务④能源开发⑤节能⑥基础框架管理⑦图像处理⑧诈骗检测⑨IT安全⑩医疗保健
7.hadoop的应用架构:(自下而上)①数据来源层②数据传输层③数据存储层④编程模型 ⑤数据分析层⑥上层业务

♚Hadoop生态圈常用组件及其功能

☞HDFS 分布式文件系统
☞YARN 资源管理和调度器
☞MapReduce 分布式并行编程模型
☞HBase  Hadoop上的非关系型的分布式数据库
☞Hive  Hadoop上的数据仓库
☞Pig  一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言Pig Latin
☞Flume  一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统

☞Sqoop   用于在Hadoop与传统数据库之间进行数据传递

☞Zookeeper  提供分布式协调一致性服务
☞Ambari Hadoop快速部署工具,支持Apache Mahout Hadoop集群的供应、管理和监控☞Spark   提供一些可扩展的机器学习领域经典算法的实现
☞Oozie 类似于Hadoop MapReduce的通用并行框架 Hadoop上的工作流管理系统

☞Storm流计算框架

☞Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消者规模的网站中的所有动作

♚Hadoop的三种安装模式及特点和用途
⑴安装模式
①单机模式(Standalone Mode):Hadoop 运行在一台主机上,按默认配置以非分布式模式运行一个独立的 Java 进程
②伪分布式模式(PseudoDistributedMode):Hadoop 运行在一台主机上,使用多个Java 进程,模仿完全分布式的各类节点
③完全分布式模式(Fully-DistributedMode):完全分布式模式也叫集群模式,是将 Hadoop运行在多台主机中,各个主机按照相关配置运行相应的 Hadoop 守护进程

⑵三种模式的特点及用途

①单机模式:没有分布式文件系统,直接在本地操作系统的文件系统读/写;不需要加载任何Hadoop的守护进程。用于本地 MapReduce 程序的调试。它是Hadoop的默认模式。

②伪分布式模式:Hadoop 运行在一台主机上,使用多个 Java 进程,模仿完全分布式的各类节点。伪分布式模式具备完全分布式的所有功能,常用于调试程序。
③完全分布式模式(Fully-Distributed Mode):完全分布式模式是真正的分布式环境,用于实际的生产环境。

♚Hadoop伪分布式模式安装前准备工作和安装过程

①准备工作:安装虚拟机→安装Ubuntu操作系统→关闭防火墙→安装SSH→安装Xshell

  和xftp→安装jdk→下载hadoop并且解压

②安装过程:完成安装前准备工作→修改主机名→映射IP地址和主机名→设置免密登录→设置hadoop配置文件→格式化hdfs→启动hadoop→验证hadoop进程→通过web访问 hadoop→测试hadoop→停止hadoop进程→完毕

♚请简述副本冗余存储策略

HDFS 默认保存 3 份副本。
(1)第一个副本(副本一):放置在上传文件的数据节点;如果是在集群外提交,则随机挑选一台磁盘不太满、CPU 不太忙的节点。
(2)第二个副本(副本二):放置在与第一个副本不同的机架的节点上。
(3)第三个副本(副本三):放置在与第二个副本相同机架的其他节点上。如果还有更多副本,这些副本会随机选择节点存放。

♚HDFS shell管理命令(hdfs dfs)

 ①创建文件夹

   hdfs dfs -mkdir

 ②列出指定的文件和目录

   hdfs dfs -ls

 ③新建文件

  hdfs dfs -touchz

 ④将本地文件上传到HDFS

   hdfs dfs -put本地文件路径 HDFS路径

   hdfs dfs -copyFromLocal 本地文件路径 HDFS路径

 ⑤将本地文件移动到HDFS

   hdfs dfs -moveFromLocal 本地文件路径  HDFS路径

   ☞与“hdfs dfs -copyFromLocal”命令不同的是,此命令将文件复制到HDFS后,本地的文件会被删除

 ⑥下载文件

hdfs dfs -get HDF文件的完整路径
hdfs dfs-copyToLocal[-p][-ignoreCrc]

♚NameNode的职责

名称节点(NameNode) 是HDFS的管理者,它的职责有3个方面:
①负责管理和维护HDFS的命名空间(NameSpace),维护命名空间中的两个重要文件——  edits和 fsimage
②管理DataNode上的数据块(Block),维持副本数量
③接收客户端的请求,比如文件的上传、下载、创建目录等


♚DataNode的职责
①保存数据块
②负责客户端对数据块的I0请求
③定期向NameNode发送心跳信息,接受NameNode的指令

♚HDFS HA与联邦的区别
①HDFS HA是配置两个NameNode:一个是Active状态 ,另一个是Standby状态。两个  NameNode的内存中各自保存一份元数据。一旦Active的NameNode宕机,Starndby的NameNode就变成Active ,接替原来的NameNode。
②HDFS Federation是HDFS有多个NameNode或NameSpace ,这些NameNode或NameSpace是联合的,它们相互独立且不需要互相协调,各自分工,管理自己的区域,一个NameNode挂掉了,不会影响其他NameNode ,但是每个NameNode还是存在单点故障问题。

♚简述fsimage和edits文件合并的过程
①SecondaryNameNode 会定期与 NameNode 通信,请求其停止使用 edits 文件,暂时将新的更新操作写到一个新的文件 edits.new 上,这个操作是瞬间完成的。
②SecondaryNameNode 通过 HTTPGET 方式从 NameNode 上获取 fsimage 和 edits文件,并下载到本地的相应目录下。
③SecondaryNameNode 将下载下来的 fsimage 载入内存,然后一条一条地执行 edits文件中的各项更新操作,使得内存中的 fsimage 保持最新,这个过程就是将 edits 和fsimage 文件合并。
④SecondaryNameNode 执行完③操作之后,会通过 HTTPPOST 方式将新的 fsimage文件发送到 NameNode 节点上。
⑤NameNode 用从 SecondaryNameNode 接收到的新的 fsimage 文件替换旧的fsimage 文件,同时将 edits.new 文件更名为 edits

♚MapReduce 1和Yarn的区别
①MapReduce1由JobTracker负责作业调度与任务监控,而Yarn由 ResourceManager负责作业调度,Application Master负责任务监控
②MapReduce1的任务节点叫做TaskTracker,而Yarn的任务节点为NodeManager
③MapReduce1的资源调配单元为Slot,而Yarn的资源调配单元为Container
④MapReduce 1在节点数达到4000,任务数达到40000就会遇到扩展瓶颈,而Yarn 节点数可达到10000个节点,任务数可达到100000个

♚MapReduce的模型要点

(Map方法:每个文件分片由单独的主机处理

Reduce方法:将各个主机计算的结果进行汇总并得到最终结果)

①任务Job = Map + Reduce

②Map的输出是Reduce的输入

③所有的输入和输出都是<Key Value>形式

 <k1,v1>是Map的输入     <k2,v2>是Map的输出

 <k3,v3>是Reduce的输入   <k4,v4> 是Reduce的输出

④k2=k3, v3是一个集合, v3的元素就是v2

⑤所有的输入和输出的数据类型必须是hadoop的数据类型(实现Writable接口)

  Integer-> IntWritable   Long -> LongWritable

  String-> Text          null ->Nul/Writable

⑥ MapReduce处理的数据-般都是HDFS的数据(或HBase )

♚简述MapReduce设计思想
MapReduce 采用“分而治之”思想,把对大规模数据集的操作,分发给一个主节点管理下的各个子节点共同完成,然后整合各个子节点的中间结果,得到最终的计算结果。简而言之, MapReduce 就是“分散任务,汇总结果”。

总而言之分为三点:
①对付大数据并行处理:分而治之
②上升到抽象模型:Map与Reduce
③上升到构架:以统一构架为程序员隐藏系统层细节

♚MapReduce的特点
①易于编程②良好的扩展性③高容错性④擅长对PB级以上海量数据进行离线处理

♚简述行式存储与列式存储的优缺点
☞行式存储

优点:数据被保存在一-起,INSERT/UPDATE容易
缺点:选择(Selection)时即使只涉及某几列,所有数据也都会被读取。列数不能太多,一般不能超过30列

☞列式存储
优点:查询时只有涉及到的列会被读取。任何列都能作为索引。相同列的数据存放在一起, 数据压缩容易。列数可以很多
缺点:选择完成时,被选择的列要重新组装。INSERT/UPDATE比较麻烦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值