以下是Hadoop与大数据技术大会 2012 的一些PPT文档的阅读笔记(不包含一些宣传和概念介绍性的PPT),纯粹看文档的理解,如有错误请指正。
- HBase Coprocessor优化与实验
所做的优化工作大概是如下两个:
Table在re-enable的时候,修改了region的assignment策略,由随机分配改为基于数据本地性分配。(不过HBASE Trunk的最新code以及StochasticLoadBalancer貌似已经解决了这个问题)
EndPoint类coprocessor的执行结果是以PerRegion的方式返回给Client,在一个Region Server中存在大量Region的时候,如果修改CP框架,增加CP接口,将结果先在Region Server本地做一次Aggregator,可以减少数据传输,利用Region Server计算资源等,来提高速度
- Facebook开发HDFS和HBase的新进展
HDFS方面主要是
- 对NameNode的增强,如Federation, HA (Avatar热备份)
- 使用HDFS Raid技术减少存储空间(靠纠错编码增加数据容错性,进而减少数据Replica的数量,PPT看减少到1?真的话有点过份),采用的是RS编码
- 一些读写稳定性的改进。
HBASE方面主要是:
- 针对交换机重启情况做的特殊容错处理
- Data Block的encoding(fastdiff, prefix compression等)
- Region aware的HDFS data block replica 放置算法,使一个Region的所有数据块的一个完整备份放在同一个(当然是另外的)data node上
- NameNode性能诊断及优化
阿里云梯HADOOP集群(3200个节点)Namenode的优化,优化了RPC和DFS写操作
- NameNode的RPC队列由单队列改为多队列,SIMD指令优化JVM,空操作响应速度提升40%
- 简化DFS操作写锁内的操作(将部分操作提到锁外执行),NNThroughputBenchmarkMixed速度提升10-20%
- HBase用例分析
大概讲淘宝数据魔方的几个Case,用HBase改造原先非HBase的数据库和业务框架,没有听光看PPT看不出太多东西
- 阿里Hadoop集群架构及服务体系
主要讲阿里云梯HADOOP集群的整体架构和辅助服务框架。其应用模式的基本指导原则就是共享,不单是各种业务(淘宝,支付宝,天猫等等)共享集群,同时,生产,开发和测试也共享同一集群。。。 大概是为了数据共享和节省成本。 这样也就带来了各种问题,PPT里描述了这些问题以及如何解决
- 对数据的安全性的要求:增加了Hadoop的权限认证机制
- 测试,开发给生产集群稳定性带来的影响
- 异常Job的监控(内存,磁盘,各种Job参数的监控)
- Job Level的设定,优先调度高Level作业
- 大规模并发和共享的使用模式带来的兼容性和可扩展性挑战
- 优化NameNode解决单Master节点的性能压力
- Job Track任务调度算法改进,热备份等解决Job Tracker的压力
- 根据Job,Map和Reduce Slot动态调整的机制,解决混合使用模式的性能自动调优
总体看来,云梯针对实际应用模式解决的许多问题都是Hadoop2.0的Yarn架构和HA等预期解决的目标问题,此外就是针对业务应用的外围模块,应该是一个Hadoop发行版应该打包支持的内容。
- HDFS Name Node高可用性研究
介绍华为在Hadoop方面的工作,简单提了一下在Hbase Secondary Index和Hadoop1/2的NN JobTracker等以及Hive上的HA做了工作,主要的篇幅介绍的NameNode的HA,基于Share Storage的实现
- HBase的二级索引
介绍华为在Hbase Sercondary Index方面做的工作,基本上是使用coprocessor来实现的,针对每个表的额外的索引,增加一个对应的索引表,这个索引表的分区情况和原表的分区一一对应,索引表的Row Key由分区起始key+索引Id+索引column对应的Value+原始数据的RowID构成。索引表由coprocessor在put操作时维护,总结起来:
- 多数代码在Coprocessor中实现,对Hbase代码修改较少
- 客户端代码基本可以透明,无需知道索引的存在
- 支持多索引,以及索引的动态增减等
- 支持Bulkload,可以在bulkload的数据准备阶段同时准备好索引
- Put性能下降不多10%左右
- Split Region操作时索引表要由自定义类特殊处理
基本上看来这个思路也是Hbase社区普遍预期的对二级索引的可能实现方案之一
- Hbase系统在搜索网页库的应用
介绍360在使用HBase搭建网页搜索数据库方面的经验,基本上是说如何正确高效的使用Hbase, 如Bulkload倒入数据,调整算法,调优配置参数等等,以及一些多CF的Region Split上的一些Bug Fix和优化。
- Hadoop Security Overview
不熟悉,没有仔细看,大概是介绍Kerberos这样一个框架,用来认证和分发Ticket/Token之类
- 大数据探索-阿里巴巴数据交换平台
泛泛的介绍了一下面临的挑战,和平台大概的框架等,光看PPT不知道重点所在
- 海量数据分布式数据库的探索:Wasp
介绍阿里的Wasp的实现:
- 阿里HBase的使用情况700-800节点
- Wasp的理论基础:Google Megastore,应该就是架构在HBase上做了类似Megastore的一个实现
- 解决问题:提供2级索引,提供SQL语法,保证数据一致性
没有看过megastore的论文,回头看看再理解一下
- HIVE在腾讯分布式数据仓库实践分享
介绍腾讯基于Hadoop和HIVE搭建的数据仓库,主要是针对生产环境做了Hive一些功能的拓展,易用性和性能稳定性方面的优化。
- 功能拓展:数据权限管理,窗口函数支持,数据合法性校验等
- 易用性:命令行工具拓展,SQL语法拓展,IDE集成等
- 性能稳定性:一些稳定性相关的Patch等,自定义的数据格式,Map端Join,并行MR任务Patch的应用等
总体感觉就是针对生产环境的一些外围工具的开发,传统数据库概念中的一些功能的移植添加,以及在实践中发现的一些稳定性相关BUG的Fix,和应用方式上的调优。
转载
原作者:刘旭晖 Raymond
Email:colorant at 163.com