1. 明确开源框架的第一原则
例如HBase提供的是大数据量下的高性能随机读写。官方的首页就是如此描述的:Use Apache HBase™ when you need random, realtime read/write access to your Big Data
这个就是学习一个新东西时候的第一原则,把握住第一原则后,你会发现这个开源组件的很多设计思想和解决方案都是围绕这个第一原则来实现的。
再举个例子:Dubbo,这个开源框架主要是为了解决搭建一个SOA的服务治理。不是一个简单的RPC框架,很多人误解了Dubbo是一个RPC框架,这个是错误的。
2.跑下它quick start .
这个主要是为了了解有一个感性的认识,对于一个新东西而言。
不需要很深入,能跑通即可。
3.查看架构图及它的配置文件
这个环节主要是让你对整个框架有一个很宏观的认识,这个框架包含了那些模块,每个模块的分工是如何。之间的的核心流程的数据流是如何流转的。这样有一个整体的任务后,再对其中的一些关键模块再做细节的了解。
看配置文件是从另一个角度的理解系统的模块划分,同时配置文件会包含了很多关键有用的细节。
例如hadoop的配置文件分为了
核心的HDFS配置:core-site.xml,主要是命名空间,基本权限等信息
hdfs的相关配置:hdfs-site.xml ,如何做HA,其中namenode和datenode的配置
调度系统:yarn-site.xml,如何调度,分配资源
调度运行时配置:mapred-site.xml 在具体运行过程中的配置,如何重试,调度端口等。
从几个文件就可以即整体又细节的了解整个系统。
再看spark的配置分为:整体配置,运行时配置,shuffle配置,安全配置,UI配置,压缩和序列化配置,内存管理配置等,从这几个方面基本就可以知道spark的整体了。
4.看源码
到了这个环节,基本对于系统是怎么运转有了一个外部的认识,那么具体要深入优化的话,就必须看源码了。查找一些根源的问题。
阅读全文…