基础
谈云计算的商业模式、系统架构时,用SaaS、PaaS、IaaS这些概念; 谈云计算的落地、技术实现时,用hadoop生态系统的开源组件。
在Hadoop的生态系统中,DFS和MapReduce无疑是最为基础的,了解它们的原理与机制成为了进入云计算编程领域的敲门砖。DPaaS也仅仅对DFS和MapReduce部分原理和机制的探索,当然还有HBase和ZooKeeper。随着深入的学习,以及在工作讨论中所遇到的问题,有时候会觉得,Hadoop、HBase这些东西越来越像Struts、String、Hibernate等框架,Hadoop使得数据具有分布式的处理能力。就像当年Google推广了Ajax技术,对于Ajax学习而言,掌握JavaScript基础后对于学习Ajax是件很自然的事,Ajax使得页面可异步、多线程化,同样也把JavaScript技术推向了高峰。由此可见,在技术领域中,不管是高门槛,还是新瓶旧酒,计算机相关的基础原理永远都值得去巩固。只有基础扎实了,才不会患得患失,才能大胆创新。
这些基础包括:
- 操作系统:Linux
- 计算机网络:TCP/IP
- 数据库:oracle、mysql
- 数据结构与算法
- 分析与设计的能力
- 分布式
- 虚拟化
- (大家补充)
写在Hadoop 2.0 GA发布之前
目前Hadoop 2.x只有alpha版,令人期待的是,2.x解决了在1.x的Namenode HA和内存瓶颈问题,而这两个问题在实时性要求高的生产环境中是必须解决的。除了等待2.xGA版的发布(大约半年后),当然也要关注生态系统上的其他重要组件是否对新版本的支持,以下是目前的支持情况:
- HBase:当前版本0.94.5,不支持hadoop2,未来0.96.0版本会支持hadoop2,参考https://issues.apache.org/jira/browse/HBASE?report=com.atlassian.jira.plugin.system.project:changelog-panel#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel
- Hive:当前版本0.10.0,支持hadoop2,参考http://hive.apache.org/releases.html
HBase客户端连接工具
传统关系型数据库有很多客户端管理工具,例如PL/SQL Developer、Toad、DbVisualizer等等,这些工具大大方便了日常的开发和管理工作。惯性思维,我从接触HBase起,就开始寻找HBase Manager之类的桌面客户端管理工具。结果很失望,这方面的信息很少,许多开发者也不关注这个。经过几轮的搜索,还是有些工具值得关注,虽然不太令人满意:
- h-rider:https://github.com/NiceSystems/hrider
- HBase Manager:http://sourceforge.net/projects/hbasemanagergui/files/?source=navbar
- DBeaver:http://dbeaver.jkiss.org/(已支持 Apache Cassandra,未来将会支持HBase)
社区与开发者
EasyHadoop社区在中国举办了7次活动,算是最有影响力的社区了,有很多开发者在活动中分享了宝贵的实战经验,干货还是很多的。但最近发现EasyHadoop开始大力发展培训业务,商业模式很明显,上次跟几个同事到华师参加EasyHadoop在广州分场的活动,结果很失望,后来在线观看了北京主会场的内容才有点收获。因此,不是任何的社区活动都值得你去参与,报名参加之前要权衡一下。
身边活跃的开发者就更少了,还不如到Stack Overflow上泡一下,不过,上网还是能够找到不少的搞云计算的博主,阅读他们的文章,并向他们提出问题,在目前来说,其实是一个很好的交流形式。如果博主没有及时回复你的问题,建议直接发邮件。
如何学习——面向问题
刚接触云计算时,确实不知道如何入手,项目组也没有明确的目标,茫茫大海中不知所措。当然后来明确了首先要解决云存储问题,不过直到这之前,咱们已经晕了好几回。事实就是这样,在一路的探索中,还是了解许多概念,以及隐藏在背后的知识,这样我才明白了要学什么。我觉得带着问题去研究新技术是一个很不错的方法,例如我们列出了以下需要攻克的问题,这些问题不仅仅让我们认识到学习的迫切性,也明确了目标。
表:问题清单
如何交流
上面提过线上的交流途径,在实际工作中,同事之间各自忙碌,技术交流的机会变得很少了。幸好有项目领导提倡小组讨论,即要求主动看书学习,也要求每逢周五下午进行技术主题研究成果分享。通过办公室里的一块打白板,让讨论交流中既动口也“动手”,看起来都觉得很过瘾。
个人研究成果汇总
- Hadoop、HBase、ZooKeeper配置整理
- REST在PaaS平台的应用以及REST开源项目选型(doc1、doc2)
- 网页版网盘演示系统开发(模仿360云盘)
- MapReduce运行机制与部署流程
- DPaaS管理平台开发,主要涉及主机管理、分布式组件自动部署、节点管理与监控、MapReduce安装运行
- Hadoop小文件管理问题
- Apach Thrift研究(编写部分开发规范,已中止)
- Hadoop监控方法:JMX、Metrics、Ganglia和Nagios(了解,未实施)
- Cloudera产品分析
- EasyHadoop产品分析(已中止)
- 《DPaaS需求说明书》
- 《ExDPaaS研发计划》
学习资源汇总
- 书籍:Hadoop书籍和网络资源介绍 (电子书网上都能够找到)
- 视频:
- 北航云计算视频下载|云计算公开课
- 第三次EasyHadoop聚会
- 第五次EasyHadoop聚会
- 第六次EasyHadoop聚会
- 第七次EasyHadoop聚会
- Hadoop与大数据技术大会 2012 :ppt和video
- 淘宝技术嘉年华的空间
- 阿里技术嘉年华系列讲座(2012)
- 优酷上可以搜索许多云相关的有趣视频
- 博客:
- yangjl38的专栏:http://blog.csdn.net/yangjl38
- 邓侃_新浪博客:http://blog.sina.com.cn/kdeng
- 董的博客:http://dongxicheng.org/(强烈推荐)
- 趋势云科技:http://www.spnguru.com/
- NoSQLFan:http://blog.nosqlfan.com/
- 搜索技术博客-淘宝:http://www.searchtb.com/
- 阿里集团数据平台官方博客:http://www.alidata.org/archives
- 阿里技术嘉年华:http://adc.taobao.com/carnival/#idata_hash
- 百度技术沙龙:http://www.infoq.com/cn/zones/baidu-salon/index.html
- Cloudera:http://blog.cloudera.com/blog/(强烈推荐)
- Yahoo! Hadoop Blog:http://developer.yahoo.com/blogs/hadoop/
- 社区:
- EasyHadoop 开源技术社区:http://bbs.easyhadoop.com/forum.php
- Hadoop技术论坛:http://www.hadoopor.com/
- 中国云计算论坛:http://bbs.chinacloud.cn/
- 云服务:
- Sina App Engine:http://sae.sina.com.cn/
- 百度开发者中心:http://developer.baidu.com/
- 阿里云:http://www.aliyun.com/
- 盛大云计算:http://www.grandcloud.cn/
- Google App Engine
- Amazon Web Services
本文转自:http://blog.csdn.net/testiness/article/details/8693601?locationNum=11&fps=1