Hadoop安装部署(1)

本文主要是以安装和使用hadoop-0.12.0为例,指出在部署Hadoop的时候容易遇到的问题以及如何解决。


硬件环境
共有3台机器,均使用的FC5系统,Java使用的是jdk1.6.0。IP配置如下:
dbrg-1:202.197.18.72
dbrg-2:202.197.18.73
dbrg-3:202.197.18.74

这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析

一个很简单的测试办法就是ping一下主机名,比如在dbrg-1上ping dbrg-2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件 中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机 器的IP地址。

以本文为例,dbrg-1中的/etc/hosts文件看起来就应该是这样的:
127.0.0.0         localhost     localhost
202.197.18.72     dbrg-1        dbrg-1
202.197.18.73     dbrg-2        dbrg-2
202.197.18.74     dbrg-3        dbrg-3

dbrg-2中的/etc/hosts文件看起来就应该是这样的:
127.0.0.0         localhost    localhost
202.197.18.72     dbrg-1       dbrg-1
202.197.18.73     dbrg-2       dbrg-2

对于Hadoop来说,在HDFS看来,节点分为Namenode和 Datanode,其中Namenode只有一个,Datanode可以是很多;在MapReduce看来,节点又分为Jobtracker和 Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。
我是将namenode和jobtracker部署在dbrg-1上,dbrg-2,dbrg-3作为datanode和tasktracker。当然你也可以将namenode,datanode,jobtracker,tasktracker全部部署在一台机器上


目录结构
由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户
我的三台机器上是这样的:都有一个dbrg的帐户,主目录是/home/dbrg
Hadoop部署目录结构如下:/home/dbrg/HadoopInstall,所有的hadoop版本放在这个目录中。
将hadoop0.12.0压缩包解压至HadoopInstall中,为了方便以后升级,建议建立一个链接指向要使用的hadoop版本,不妨设为hadoop
[dbrg@dbrg-1:HadoopInstall]$ln  -s  hadoop0.12.0   hadoop
这样一来,所有的配置文件都在/hadoop/conf/目录中,所有执行程序都在/hadoop/bin目录中。
但是由于上述目录中hadoop的配置文件和hadoop的安装目录是放在一起的,这样一旦日后升级hadoop版本的时候所有的配置文件都会被覆盖,因此建议将配置文件与安装目录分离, 一种比较好的方法就是建立一个存放配置文件的目录,/home/dbrg/HadoopInstall/hadoop-config/,然后将 /hadoop/conf/目录中的hadoop_site.xml,slaves,hadoop_env.sh三个文件拷贝到hadoop- config/目录中(这个问题很奇怪,在官网上的Getting Started With Hadoop中 说是只需要拷贝这个三个文件到自己创建的目录就可以了,但我在实际配置的时候发现还必须把masters这个文件也拷贝到hadoop-conf/目录中 才行,不然启动Hadoop的时候就会报错说找不到masters这个文件),并指定环境变量$HADOOP_CONF_DIR指向该目录。环境变量在 /home/dbrg/.bashrc和/etc/profile中设定。
综上所述,为了方便以后升级版本,我们需要做到配置文件与安装目录分离,并通过设定一个指向我们要使用的版本的hadoop的链接,这样可以减少我们对配置文件的维护。在下面的部分,你就会体会到这样分离以及链接的好处了。

你可能感兴趣的:(hadoop,安装,职场,休闲)