引言: 基于64位的Ubuntu系统,利用VirtualBox建立两个节点,搭建Hadoop 2.2.0的测试开发环境。

1. 准备2台虚拟机,Hadoop2-V1, Hadoop2-V2.  VirtualBox:  Ubuntu Server Edition 13.10.

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板

2.  下载hadoop-2.2.x的稳定版本以及源代码,以备自行编译之用。Apache Url: http://mirrors.cnnic.cn/apache/hadoop/common/。将源代码下载下来,这里我们将自行编译然后build自己的版本。

  

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_02

3.  根据操作系统的版本,选择JDK版本,这里选择64位的x86版本。JDK URL: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

 

Hadoop实验报告模板 hadoop实验二_hadoop_03


4.  安装jdk,并设置环境变量,将Java设置到系统Profile中。

     解压下载jdk的tar.gz结尾的文件。

   

Hadoop实验报告模板 hadoop实验二_ubuntu_04

   设置环境变量。

  

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_05

5.  在节点之间,搭建无密钥的ssh登录机制。首先生成当前用户的公钥/私钥。

  

Hadoop实验报告模板 hadoop实验二_安装_06

   然后,就可以在~/.ssh/目录下看到生成的私钥和公钥文件,公钥文件以pub后缀结尾: id_rsa(私钥),id_rsa.pub(公钥).

6. 创建authorized_keys文件,将其他节点的公钥复制到这个文件中。并复制到不同的节点上,并验证是否可以无密钥登录.

    Linux命令: sudo  vim ~/.ssh/authorized_keys

  

Hadoop实验报告模板 hadoop实验二_安装_07

  将此文件复制到其他的集群节点上去

 

Hadoop实验报告模板 hadoop实验二_集群_08

  这里的复制使用了主机名,而非ip地址。

7. 设置机器的主机名.   Linux命令:sudo vim /etc/hostname

  

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_09

8.建立主机名和IP地址之间的映射,Linux命令:sudo vim /etc/hosts

  

Hadoop实验报告模板 hadoop实验二_集群_10

9. 解压hadoop-2.2.0-src.tar.gz,以备自行编译hadoop。

命令: tar xvfz hadoop-2.2.0-src.tar.gz

10.  安装预先的依赖包

zlib1g , zlib1g-dev , openssl. ncurses。由于 Ubuntu 系统和其他 Linux 有所不同,所要安装的包名也会因Linux版本而略有不同。


sudo apt-get install zlib1g   
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libncurses5-dev

11.安装依赖包:

protobuf, 这是一种 Hadoop 使用的一种底层通信协议 。在这里我们自行编译和安装。

   下载: http://code.google.com/p/protobuf/downloads/detail?namet=protobuf-2.5.0.tar.gz&can=2&q=  


tar xvfz protobuf-2.5.0.tar.gz   ----- 解压源代码文件
cd protobuf-2.5.0
./configure
sudo make install     ----注意:这里需要是sudo管理员的权限

之后,protobuf就被正常安装成功了。

12. 检查mvn是否已被安装, 直接在命令行: mvn -version,如果没有则会提示命令不存在或者不支持。

sudo apt-get install maven

13. 进入Hadoop-2.2.0-src的源代码目录,运行一下命令:

mvn package -Pdist,native -DskipTests -Dtar


Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_11


 编译生成的结果复制到相应的目录,就是Hadoop的安装目录。  编译结果位置: hadoop-dist/target/hadoop-2.2.0.

14.修改hadoop-env.sh,设置JAVA_HOME.

Hadoop实验报告模板 hadoop实验二_hadoop_12

15.修改yarn-env.sh,设置JAVA_HOME

Hadoop实验报告模板 hadoop实验二_ubuntu_13

16.修改hadoop的core-site.xml

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_14

17.修改hadoop的hdfs-site.xml

Hadoop实验报告模板 hadoop实验二_安装_15

18.修改hadoop的mapred-site.xml

Hadoop实验报告模板 hadoop实验二_集群_16

19.yarn-site.xml的修改内容:

Hadoop实验报告模板 hadoop实验二_ubuntu_17

20.修改hadoop的slaves, 添加slaves

Hadoop实验报告模板 hadoop实验二_Hadoop实验报告模板_18

21.将hadoop向各个节点分发包

Hadoop实验报告模板 hadoop实验二_ubuntu_19

22. 格式化namenode,  进入hadoop-2.20, 运行命令:./bin/hdfs namenode -format

23.  启动hadoop的dfs

 

Hadoop实验报告模板 hadoop实验二_安装_20

24.启动Hadoop的yarn

Hadoop实验报告模板 hadoop实验二_ubuntu_21

25.基于jps查看进程, 查看namenode的进程

  

Hadoop实验报告模板 hadoop实验二_集群_22

26. 基于jps查看进程,查看datanode的进程

Hadoop实验报告模板 hadoop实验二_安装_23

 说明:

1. 通过jps来查看节点的进程数,确认是否都已经启动

2. 上述步骤经过Ubuntu环境的验证,主要是在编译hadoop源代码之时,对不同的类库依赖性。

3.  集群需要使用ssh无密钥的登录方式。