测试
利用 Cloudera 部署 Hadoop
前言
Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架。MapReduce的概念来源于Google实验室,它是一个简化并行计算的编程模型,适用于大规模集群上的海量数据处理,目前最成功的应用是分布式搜索引擎。随着2007年底该模式Java开源实现项目Apache Hadoop的出现,使得程序员可以轻松地编写分布式并行程序,并将其运行于计算机集群上,完成海量数据的计算。近两年尤其是今年国内外采用MapReduce模型的应用也逐渐丰富起来,如像NTT KDDI和中国移动这类的电信公司采用该模型分析用户信息,优化网络配置;美国供电局采用该模型来分析电网现状;包括VISA和JP摩根在内的金融公司采用该模型来分析股票数据;包括Amazon和ebay在内的零售商和电子商务公司也开始采用该模型;甚至部分生物公司也采用该模型来进行DNA测序和分析。然而Hadoop安装、部署、管理的难度非常大,这使用很多用户对Hadoop望而却步,好在这种情况不久就得到了改善,Cloudera提供了非常简单的Hadoop的发布版本,能够十分方便地对Hadoop进行安装、部署和管理,这导致目前大约有75%的Hadoop新用户使用Cloudera。
规划
运行模式
Hadoop有三种运行模式:单机(非分布)运行模式、伪分布运行模式和分布式运行模式。其中前两种运行模式体现不了 Hadoop 分布式计算的优势,并没有什么实际意义(当然它们对程序的测试及调试还是很有帮助的),因此在这里还是采用实际环境中使用的分布式运行模式来部署。
主机规划
在这里拟采用三台主机搭建Hadoop环境,由于后期还需要测试增删主机及跨网段主机对Hadoop环境的影响,特将Hadoop主机规划如下: Hadoop-01 10.137.253.201 Hadoop-02 10.137.253.202 Hadoop-03 10.137.253.203 准备后期加入的测试主机 Hadoop-04 10.137.253.204 Firehare-303 10.10.3.30 准备后期加入的跨网段测试主机
安装
规划好了就开始安装Hadoop,如前言中所说使用Cloudera的Hadoop发布版安装Hadoop是十分方便的,首先当然是在每台主机上一个干净的操作系统(我用的是Ubuntu 8.04,其它的版本应该差不多),然后就是安装Hadoop了(这样安装的是Hadoop-0.20,也可以安装Hadoop-0.18的版本,反正安装步骤都差不多。注意,不能同时启用Hadoop-0.20和Hadoop-0.18)。由于每台机器安装步骤都一样,这里就写出了一台主机的安装步骤,主要分为以下几个步骤:
设置Cloudera的源
- 生成Cloudera源文件(这里采用的是Hadoop-0.20版本):
sudo vi /etc/apt/sources.list.d/cloudera.list
#稳定版(Hadoop-0.18)
- deb http://archive.cloudera.com/debian hardy-stable contrib
- deb-src http://archive.cloudera.com/debian hardy-stable contrib
- 测试版(Hadoop-0.20)
deb http://archive.cloudera.com/debian hardy-testing contrib deb-src http://archive.cloudera.com/debian hardy-testing contrib
- 生成源的密钥:
sudo apt-get install curl curl -s http://archive.cloudera.com/debian/archive.key | sudo apt-key add -
安装Hadoop
- 更新源包索引:
sudo apt-get update sudo apt-get dist-upgrade
- 安装Hadoop:
sudo apt-get install hadoop-0.20 hadoop-0.20-conf-pseudo
部署