一、 前言
偶然间同学跟我谈到Hadoop分布式集群,恰好同学也需要自己去搭建hadoop平台,因此我想自己何不也搭建个hadoop平台玩玩呢。故有了这篇搭建记录。
更多Hadoop相关信息见Hadoop 专题页面 ?tid=13
二、 Hadoop简介
Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分布式文件系统,与MapReduce和Google档案系统的概念类似。
Hadoop is a top-level Apache project being built and used by a global community of contributors,using the Java programming language. Yahoo! has been the largest contributor to the project, and uses Hadoop extensively across its businesses.
Hadoop was created by Doug Cutting,who named it after his son's stuffed elephant. It was originally developed to support distribution for the Nutch search engine project.
三、 环境搭建
1、安装前的准备
·VMware Workstation ACE 6.02
·3台RHEL5.2虚拟机
·hadoop-0.20.2.tar.gz
·jdk-6u17-linux-i586.bin
2、安装JDK
JDK安装较为简单,不赘述。
Tip:
使用VMware Workstation 安装了3个RHEL 5.2系统。装好一个RHEL,并且安装好JDK,再利用VMware Workstation的克隆功能完成另外两个的安装。
3、 更改主机名、IP
l IP设置:
hadoop1:192.168.0.100 ( NameNode )
hadoop2:192.168.0.101 ( DataNode )
hadoop3:192.168.0.102 ( DataNode )
# vi /etc/sysconfig/network-script/ifcfg-eth0
修改此文件为:
# service network restart重启网络服务
Tip:
在做hadoop1、hadoop2的IP设置的时候也许会出现这个问题,原因是克隆虚拟机的时候MAC地址还是一样的。
在这里点击“探测”修改MAC地址:
l 更改主机名
修改/etc/sysconfig/network里面的hostname,这里改成你想改的主机名。再修改/ete/hosts文件,改成如下设置:
当然你也可以使用DNS来配置主机名与IP的映射,因为这里只是个局域网环境,所有就用修改hosts的方法来完成映射功能。
Tip:
1、关于这个hosts文件的配置,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。
当然你也可以像我一样,三个hosts文件都一样。
2、对于Hadoop来说,在HDFS看来,节点分为Namenode和Datanode,其中Namenode只有一个,Datanode可以是很多;在MapReduce看来,节点又分为Jobtracker和Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。我是将namenode和jobtracker部署在hadoop1上,hadoop2, hadoop3作为datanode和tasktracker。当然你也可以将namenode,datanode,jobtracker,tasktracker全部部署在一台机器上。