Hadoop书

作者: d1450eb71426 | 来源:发表于2016-04-20 21:52 被阅读79次

1.测试代码正确用单台机器+少量数据
多少个split就是多少个map任务
split和block的大小最好一样,符合“数据本地化优化”,不用http传输,可以确保存储在单个节点上的最大输入块大小,效率高
2.map任务将v2写本地,不写hdfs:因为map输出是中间结果,v2由reduce处理后才产生最终结果,job完成,删除v2
hdfs数据replication默认3.第一个副本在本地,其他的在其他机器上
3.reduce的数量由partition(分区)决定
4.shuffle(洗牌)参数对执行总时间影响非常大
5.网络带宽有限,尽量避免map和reduce数据传递,所以添加combiner(组合)(优化方案,慎用,考虑结果一不一样)
6.hdfs:可以解决节点故障且不丢失数据,
7.Hadoop可以集成其他的文件系统
8.hdfs以流式数据访问模式,一次写入多次读取
9.hdfs是为高数据吞吐量应用优化的,所以延迟高,低延迟Hbase好
10.namenode将metadata存在内存中,所以文件系统所能存储的文件总数受限于namenode的内存容量。根据经验:file,dir,数据块的存储信息大约占150字节,一百万个文件,每个文件都占一个数据块,至少需要300M
11.hdfs的块比磁盘的块大(128M,512字节)是为了最小化寻址开销
12:分块的好处:文件可以很大,文件可以存在不同的节点上
13辅助namenode总是滞后于主namenode,一般把namenode的元数据复制到辅助namenode作为新的主namenode
14.Hadoop有一个抽象的文件系统概念,hdfs只是 其中的一个实现,还有本地文件系统localfilesystem,文件系统解析器可以操作所以的Hadoop文件系统命令。Hadoop fs -ls
15:hdfs的访问,通过http直接访问或者通过多个hdfs代理访问hdfs(httprequest——rpcrequest--blockrequest)
16:编写代码的时候还是用filesystem,为了提高可移植
17.FSDataInputStream(支持文件定位的输入流)
18.distcp(并行复制)在两个hdfs集群之间传输数据,版本要一样,不一样的版本用webhdfs协议
19每个节点最多分配20个map任务
20.Hadoop自带一套用于数据I/O的操作
21.检查数据损坏:计算校验和(checksum)第一次引入系统的时候就算一次,在传输的时候计算一次比一下,但是不能修复,校验和也可能损坏(小概率),常见的检验手段Crc-32,修复靠副本
22.datanode负责存储数据和验证校验和
23.压缩优点:减少存储磁盘空间,加速数据在网络和磁盘的传输(数据量大的时候很重要)
24.gzip算法deflate(标准和压缩算法),不可切分;bzip2,算法bzip2(在deflate格式上加了文件头和文件尾),可以切分。压缩可以作为优化的一种方法
25.序列化指的是将机构化对象转化为字节流方便网络传输和写到磁盘,反序列化指的是将字节流转回结构化对象
26序列化使用场景:rpc进程通信,永久存储。rpc协议将消息序列转化成二进制流发送到远程节点,远程节点将二进制反序列化为原始消息
27序列化四大理想属性:1紧凑(高效使用存储空间,充分利用网络带宽),2快速(读写数据的额外开销小),3可扩展(可以满足新需求),4支持互操作(可以用不同的语音读写永久存储的数据)
writeable有两个方法1把状态写到dataoutput二进制流,另一个从datainput二进制流读取状态
不一定必须使用writeable,只要有一种机制对每个类型到二进制表示的来回转换。
28.钩子hook可以分析分布式程序
29通常增加更多的作业,而不是增加作业的复杂度
30mapreduce失败排错:运行任务失败,tasktracker失败,jobtracker失败
31:yarn中的失败:任务,application master,nodemanager,resourcemanager
32:shuffle

相关文章

网友评论

      本文标题:Hadoop书

      本文链接:https://www.haomeiwen.com/subject/mhwwlttx.html