大数据复习(day02)

zookeeper
复习重点:
1.ZAB协议Zookeeper Atomic Broadcast原子广播协议。
①实现分布式数据一致性
②支持崩溃恢复
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

====================================

Hadoop

国内外使用Hadoop的案例:
1.纽约时报,有4TB的扫描件,当时需求变为PDF。用了Hadoop,用时24小时,成本400美元搞定。由此Hadoop的优势:廉价,高效
2.百度,淘宝(2009年开始,每天的处理的数据量255TB),支付宝,中国移动,华为

在这里插入图片描述
在这里插入图片描述
中国移动每天产生的CDR(call data record),记账记录,运营日志等,其中仅CDR记录,每天就有10TB以上。这还不包括2G,3G,4G的运行记录和记账信息
国内,华为对于Hadoop社区贡献的是最大的。

Hadoop用900台的服务集群,对1TB数据排序,用时209秒。
后来用1460台服务器,对1TB数据排序,用时62秒

Hadoop1.0和Hadoop2.0简要架构图

在这里插入图片描述
Yarn资源调度框架——>实现对资源的细粒度封装( cpu,内存,带宽)此外,还可以通过yarn协调多种不同计算框架( MR,Spark )

Hadoop3.0 2017.9月发版

=============================

HDFS架构

HDFS 借鉴->《Google File System》
Hadoop MapReudce 借鉴->《Google MapReduce》

在这里插入图片描述
查看1.txt的数据信息(切块,副本,长度,大小…)

hadoop fsck /1.txt -files -blocks -locations

执行:hadoop dfsadmin -safemode leave离开安全模式
执行: hadoop dfsadmin -safemode enter进入安全模式
执行: hadoop dfsadmin -rollEdits
手动执行fsimage(快照)文件和Edis(操作记录)文件合并元数据

查看Edits文件和Fsimage文件
hdfs oev -i edits_0000000000000000001-0000000000000000003 -o edits.xml
hdfs oiv -i fsimage_o000000000000000012 -o fsimage.xml -p XML

在这里插入图片描述
体现了数据流管道思想,充分利用每一台服务带宽

详细解读:
为了提高网络效率,我们采取了把数据流和控制流分开的措施。在控制流从客户机到主Chunk、然后再到所有二级副本的同时,数据以管道的方式,顺序的沿着一个精心选择的Chunk 服务器链推送。我们的目标是充分利用每台机器的带宽,避免网络瓶颈和高延时的连接,最小化推送所有数据的延时。
为了充分利用每台机器的带宽,数据沿着一个Chunk 服务器链顺序的推送,而不是以其它拓扑形式分散推送(例如,树型拓扑结构)。线性推送模式下,每台机器所有的出口带宽都用于以最快的速度传输数据,而不是在多个接受者之间分配带宽。

思考:
有个文件,"存储了20亿整型数字;"有重复出现的数字。要求找出出现频次最高的那个数字。内存使用不能超过2GB,不能使用大数据框架。

Map<key=数字,value=数字的频次>
1.假设一个数字出现了20亿次(100,20亿次)
Map<100,20亿>=4B+4B=8B
2.假设每一个数字只出现1次,20亿*8B=160亿~15GB

解决办法是把包含20亿个数的大文件用哈希函数分成很多个小文件,根据哈希函数的性质,同一种数不可
能被哈希到不同的小文件上。

假设哈希函数设计的足够好,可以将数字近乎平均的散列到每个小文件上。假设散列到8个小文件上,理论上每个文件占用的内存正好是2GB。当然为了更稳妥起见,我们可以分成更多的小文件,比如16个,20个,40个甚至更多。假设我们这里选择散列到16个小文件上。
接下来,我们计算得到16个小文件中各自出现次数最多的数,还有各自的次数统计。接下来只要选出这16个小文件各自的第一名中谁出现的次数最多即可。

把一个大的集合通过哈希函数分配到多台机器中,或者分配到多个文件里,这种技巧是处理大数据面试题时最常用的技巧之一,但是到底分配到多少台机器、分配到多少文件,在解题时一定要确定下来。可能是在与面试官沟通的过程中由面试官指定,也可能是根据具体的限制来确定。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值