Hadoop 平台是目前最热的分布式平台, 相关的产品还包括Hbase, Hive, Pig等。根据公司的业务需求,需要hadoop + hbase + hive的环境。
搭建Hadoop平台主要有2种方式
从apache.org 下载tarball安装
下载tar包,解压,修改配置后使用。
具体的步骤,后续的文章中将陆续放出,本文暂不介绍。
使用Cloudra 发行版
cloudra 公司对apache.org 的源代码进行了系统集成。把hadoop 平台所有的组件全部放了进来,包括:Hbase, Hive, Pig, Zoo keeper, 等其他组件。如果想搭建一个 Hadoop + Hbase + Hive 的平台,Cloudra 平台是非常方便的。Cloudra的网址可以参考:http://www.cloudera.com/hadoop/
本文只讨论Debian 系统安装的方式。
cloudra 有很多方式,但方法其实是一样的: 修改debian的包管理源,通过apt-get 安装。推荐使用Cloudra Manager来安装,非常的方便。
主要的步骤:
1. 安装cloudra manager 后
2. 通过cloudra manager 管理 cluster 集群中的服务器,对每台服务器安装所有的组件
管理超级赞,不仅安装简单,还有监控页面。
3. 部署集群服务
主要是hadoop, zoo keeper, hbase
CDH4 的资料可以参考:
Component | Description | CDH3u4 Version | CDH4u0 Version |
Apache Hadoop | Reliable, scalable distributed storage and computing | hadoop-0.20.2+923.256 | hadoop-2.0.0+73 |
HDFS | The Hadoop Distributed File System | hadoop-0.20.2+923.256 | hadoop-2.0.0+73 |
Fuse-DFS | Module for mounting HDFS as a traditional file system | hadoop-0.20.2+923.256 | hadoop-2.0.0+73 |
MapReduce | Distributed computing framework for Apache Hadoop | hadoop-0.20.2+923.256 | mr1-0.20.2+1213 |
MapReduce 2 | The next-generation of the MapReduce framework | -- | hadoop-2.0.0+73 |
Hadoop Common | A set of utilities that support the Hadoop subprojects | hadoop-0.20.2+923.256 | hadoop-2.0.0+73 |
Apache Flume | Distributed service for collecting and aggregating log and event data | flume-0.9.4+25.43, flume-1.1.0 | flume-1.1.0 |
Apache HBase | Scalable record and table storage with real-time read/write access | hbase-0.90.6+84.29 | hbase-0.92.1+37 |
Apache Hive | SQL-like language and metadata repository | hive-0.7.1+42.43 | hive-0.8.1+59 |
Apache Mahout | Library of machine learning algorithms for Hadoop | mahout-0.5+9.5 | mahout-0.6+15 |
Apache Oozie | Workflow engine to coordinate Hadoop activities | oozie-2.3.2+27.19 | oozie-3.1.3+153 |
Apache Pig | High-level data flow language | pig-0.8.1+28.32 | pig-0.9.2+25 |
Apache Sqoop | Data transport engine for integrating Hadoop with relational databases | sqoop-1.3.0+5.76 | sqoop-1.4.1+27 |
Apache Whirr | Library for deploying and running Hadoop in the cloud | whirr-0.5.0+4.12 | whirr-0.7.1+14 |
Apache Zookeeper | Highly-reliable distributed coordination service | zookeeper-3.3.5+19.1 | zookeeper-3.4.3+14 |
Hue | Browser-based interface for interacting with Hadoop | hue-1.2.0.0+114.35 | hue-2.0.0+49 |
apache tarballvs cloudra
花了4天的时间研究Cloudra,下面是我对这两种方式的一个总结,不一定对。
比较利弊,最终还是选取了tarball的方式用于生产环境,但研究Cloudra 还是有很多好处,有很多地方值得借鉴。
根据CDH4,选取了的版本:
hadoop: 0.20.205
hive: 0.92.1
hive: 0.8.1
| Hadoop tarball | Cloudra |
安装 | 安装配置非常麻烦 | 非常的方便 |
维护 | 50070,50030端口有web界面,还凑合 | Cloudra Manager的UI非常棒 |
查找问题 | 由于有详尽的文档,只要花时间,能彻底的把问题解决 | Hadoop 上面包裹了 Cloudra 的东西,出问题了,如果能通过UI解决还好,否则很麻烦。 |
支持 | 出问题时网上google,70%左右都是hadoop tarball的方式,解决问题相对简单一些 | Cloudra 有google group,cloudra 的人会解决问题,但比较慢,不保证能把问题解决了。如果花钱的买lience,估计服务就好很多了 |
学习曲线 | 先难后易 | 先易后难 |
应用情况 | 较为普遍 | 很多大公司也用 |