原帖地址:http://blog.csdn/nsrainbow/article/details/36629339


我们这个教程是在 centos  上安装cdh的教程,而且使用的是yum方式,不建议使用界面化方式,因为用过linux的都知道,命令行出错更少,其实更轻松更靠谱。


安装之前

1. 安装jdk

cdh5 对应的jdk 是 oracle-jdk 1.7.0_25 ,注意是 oracle-jdk ,千万别 yum install jdk 就完事了,因为那样装的是 openjdk
到这边 http://www.oracle/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u25-oth-JPR 搞个jdk
没用户的自己注册一个
下来之后名字是一堆乱码,自己用mv改个名字
$ sudo su -
$ mv jdk-7u25-linux-x64.rpm\?AuthParam\=1404198323_f70f74ddcd70928c1bea4ac29f5c4e42 jdk.rpm
$ rpm -ivh jdk.rpm
$ vim /etc/profile


在最后加上
export JAVA_HOME=/usr/java/jdk1.7.0_25
export PATH=$JAVA_HOME/bin:$PATH


保存后运行

$ source /etc/profile
$ echo $JAVA_HOME
/usr/java/jdk1.7.0_25


2. 配置yum源(不建议)

该种方式配置最快,但是对于长期要使用或者学习hadoop的人来说不建议采用这种方式,详情见下一种方式
$ vim /etc/yum.repos.d/cloudera-cdh5.repo

把下面这段粘贴进去
[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat	or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/5/
gpgkey = http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
enabled=1    
gpgcheck = 1


然后保存

3. 构建自己的yum源(强烈建议)

强烈建议采用这种方式,因为你学习和使用hadoop的过程是漫长的,在这个过程中cloudera的包有可能有升级了几个版本,那么你早先时候装的组件跟你后来想装的组件之间的版本有可能不一样,有些组件会检查CDH版本的统一性的,如果不通过就装不上了,或者运行起来有问题。所以为了保证整个cdh内部组件的版本一致性,最好使用这种方式安装

3.1 下载rpm文件

centos6 的 安装文件地址  安装rpm文件
yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm -y 

3.2 安装apache

安装的过程我就不说了,这种教程网上一堆

3.3 安装yum-utils

yum install yum-utils createrepo -y

3.4 用yum-utils同步整个yum源


随便切换到一个目录,比如 home 目录把 但是确保你所在的目录有至少3G空间,然后执行
$ cd ~
$ reposync -r cloudera-cdh5


接下来可能是漫长的等待,取决于你的网络速度
这个命令执行完后会把整个cdh5的库(大概118个包)下载到这个目录下,大概2.3G
你会看到有一个叫 cloudera-cdh5 的文件夹生成,进入后有一个 RPMS 文件夹,里面有 noarch 和 x86_64 文件夹
[root@localhost ~]# cd cloudera-cdh5
[root@localhost cloudera-cdh5]# ll
total 4
drwxr-xr-x. 4 root root 4096 Dec 18 07:55 RPMS
[root@localhost cloudera-cdh5]# cd RPMS
[root@localhost RPMS]# ll
total 16
drwxr-xr-x. 2 root root  4096 Dec 18 16:07 noarch
drwxr-xr-x. 2 root root 12288 Dec 18 16:07 x86_64

快速下载诀窍:这边有一个诀窍,你开始执行 reposync 之后你会发现在执行这个命令的根目录会自动生成  cloudera-cdh5/noarch 目录,并开始下载包。其实我们可以直接用浏览器打开  http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/5/RPMS 你会看到有 noarch 和 x86_64 这两个文件夹,进入这两个文件夹,用迅雷把这些包全部下载下来,然后扔到centos的 cloudera-cdh5 目录下,再执行  reposync 命令,然后这些包会被一一检查,并被认为已经下载好了,并跳过。 我用的是火狐的Flashgot插件的 一键下载全部链接方式。
在 RPMS/x86_64 里面建一个文件夹 cdh  在这个文件夹里面建一个文本文件叫 RPM-GPG-KEY-cloudera 访问 http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera  把内容拷贝进去

3.5 部署到apache


把这个cloudera-cdh5文件夹整个移到apache的web目录:/var/www/html 里面去,不过请先保证空间足够大,如果不够大,记得修改apache的web目录的位置,具体怎么改自己百度下
[root@localhost ~]# mv cloudera-cdh5 /var/www/html
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ll
total 4
drwxr-xr-x. 3 root root 4096 Dec 18 07:49 cloudera-cdh5


用vim打开 /etc/httpd/conf/httpd.conf 查找到这句话
<Directory "/var/www/html">


这个节点里面的 Options 后面的文字改成 MultiViews
Options MultiViews


然后重启apache
service httpd restart


打开自己的浏览器试试看访问这个地址
http://192.168.199.126/cloudera-cdh5/RPMS/noarch/whirr-0.9.0+cdh5.2.1+12-1.cdh5.2.1.p0.6.el6.noarch.rpm
ip改成你自己的机器的ip,如果浏览器自动开始下载这个文件的话,证明调通了

3.6 构建repo库

cd 到 /var/www/html/cloudera-cdh5 然后执行 createrepo . 进行构建
[root@localhost ~]# cd /var/www/html/cloudera-cdh5/
[root@localhost cloudera-cdh5]# createrepo .

3.7 修改yum源地址


分别把两台机器的/etc/yum.repos.d/cloudera-cdh5.repo 里面的 baseurl 修改为这台机器的地址。像我就修改成这样
[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://192.168.199.126/cloudera-cdh5/
gpgkey = http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
enabled=1
gpgcheck = 1

注意:采用这种方式后,安装hadoop都将非常的快,但是如果有时候不能正常安装,那么你还是可以启用远程地址,建议把以下两句话用注解方式保存在这个文件里面,当你觉得可能本地库有问题,想切换为远程库的时候可以方便的切换,这个文件就变成这样
[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://192.168.199.126/cloudera-cdh5/
gpgkey = http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
#baseurl=http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/5/
#gpgkey = http://archive.cloudera/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
enabled=1
gpgcheck = 1

当你要切换远程库的会后把上面两行 baseurl 和 gpgkey 注释起来,下面的把注释去掉,保存退出就行,yum会立即生效不需要做什么额外的操作。
注意:如果你之前用过远程源的模式安装过hadoop,那么切换成本地源之后要删除掉yum的缓存,否则会出现要安装的组件需要的版本号比你本地的源还新,造成找不到安装文件的问题,清理方式是把 /var/cache/yum/x86_64/6/cloudera-cdh5 这个文件夹删了

0. 选择安装模式

有两种安装模式 HA 和 非HA
其实MapReduce也有两种安装模式 1.0(MRv1) 和 2.0(YARN) 国外已经主要推广 2.0了,不过国内的很多教程是按照1.0来写的,所以看教程的时候记得分辨一下看是否适合你。不过我相信国内很快也会跟上的。我推荐使用2.0,我们的教程这边也使用2.0


hadoop有两种安装模式:非HA和HA模式,非ha只是用来实验上手而已,真实环境用ha。但是ha环境配置比较复杂,容易被卡主,所以我们先用非HA模式上手一下,然后玩玩hdfs找找感觉,免得失去信心,然后再安装HA模式,所以我的教程会教你们装两次,第一次是非HA模式,第二次是HA模式,在安装HA模式之前最好换新的虚拟机,防止,之前的安装影响到新的安装

更多推荐

Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)