摘要: 面临的挑战:1、硬件:宕机、例行重启、僵死;交换机故障2、网络:抖动、丢包3、流量突增(比如刘翔在奥运会中跌倒,流量会突增)4、依赖第三方服务架构防御:(1)mySQL是核心存储业务的依托,但是当mySQL全部宕机后,依然会有办法处理。此时,修复处理机会来进行处理,业务可以通过内存资源(vector0+tail Vector)来搞定。流量高峰时候,可以在vector0中增加level1的数量,流量少时减少即可。(2)单点故障、单层故障都可以处理主动监控运维:1、传统监控运维局限性:(1)定期采集来分析(机器、资源数据,我们更关心业务数据;采集的某一时刻,我们需要某一段时间的数据;) (2)分析 阅读全文
posted @ 2013-07-12 11:13 kivi 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 1、数据完整性的保证:校验和2、压缩的重要性及各种压缩算法的适用场景(时间性、空间性,以及是否支持mapreduce)3、writable序列化框架:为什么不用java序列化的东西,该框架的好处(精简、快速、可拓展、可以互操作等)4、Text与String的区别:Text通过字节的偏移量进行索引(还有其他区别)5、基于文件的数据结构:sequenceFile、MapFile以及他们的扩展6、Avro数据序列化系统 阅读全文
posted @ 2013-07-11 21:41 kivi 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1、分片大小的确定2、最佳分片大小应该与块大小相同3、map任务的输出一般卸载本地硬盘,而reduce任务的输出写在hdfs中实现可靠存储;(当没有reduce过程时,map输出写在hdfs中)4、若多个reduce任务,则每个map任务都会输出多个分区(为每个reduce建立一个分区)5、三种map、reduce形式:6、为减少map与reduce之间的数据传输(带宽很重要),可以设计combine函数 阅读全文
posted @ 2013-07-11 21:31 kivi 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1、流式数据访问:一次写入,多次读取是最高效的访问模式。数据集通常由数据源生成或从数据源复制而来,每次分析都在该数据集上进行2、数据块:文件的独立存储单元,默认64MB;目的是为了最小化寻址开销;块的元数据存在namenode的内存中;HDFS中一个小于块大小的文件不会占据整个块的空间3、namenode的容错为什么重要,容错的方法有哪些?4、读文件的流程:5、写文件的流程:6、写文件中数据队列、管线、副本布局的问题7、distcp并行复制8、带宽:数据中心中最稀缺的资源! 阅读全文
posted @ 2013-07-11 21:23 kivi 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 淘宝的hbase规模:1、基于0.90.3;2、10个独立集群,大约300台机器;3、机器配置:16 core,24G/48G,SATA 1T*12/SAS 300G *12;4、大约200k ops/sec,70%写,30%读。遇到的问题:1、region书越来越多,每秒写的速度会下降很快(8000降到2000)--->解决办法:将锁机制改为“无锁”。2、regionServerOOM(内存溢出)--->原因1:rowkey设计问题 原因2:setMaxFileSize太大,解压会使用近双倍的空间 原因3:region太多3、.meta表空洞--->原因:split失败,数 阅读全文
posted @ 2013-07-11 21:04 kivi 阅读(362) 评论(0) 推荐(0) 编辑