一、安装的需要软件及集群描述

1、软件:

Vmware9.0:虚拟机

Hadoop2.2.0:Apache官网原版稳定版本

JDK1.7.0_07:Oracle官网版本

Ubuntu12.04LTS:长期支持版本

Ganglia:集群性能监测软件

ssh:SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有U NIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台—都可运行SSH。

Vim:编辑器

2、集群描述(集群主要有一个主节点,三个从节点)

master                  

从节点

slave01                    

从节点

slave02

从节点

slave03

从节点

 

 

 

 

二、安装及配置过程

1、JDK的安装(解压到/home/hadoop/sf/jdk1.7.0_07/)

1.解压:sudo tar -zxvf  jdk。

2.在/home/hadoop/.profile文件中配置环境变量,sudo Vim .profile在文件末尾加上

    export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07

    export PATH=$JAVA_HOME/bin:$PATH

3.source .profile  

4.测试是否安装成功。在终端输入java –version

2、ssh的安装

1.更新软件源:sudo apt-get update

   安装ssh:sudo apt-get install ssh

2.配置无密钥登录

    a. ssh-keygen (生成密钥)

    b.cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

3.将authorized_keys拷贝到其他从节点的/.ssh/的目录下(可以实现无密钥的访问其他节点)

     scp -r /home/hadoop/sf/.ssh/authorized_keys hadoop@slave03:~/ssh/

3、修改/etc/hosts文件

     该文件主要是将主机名ip地址对应,master节点与所有slave节点都要修改。

1 10.10.201.89    master
2 10.10.201.90    slave01
3 10.10.201.80    slave02
4 10.10.201.3    slave03

4、安装master节点中hadoop

    1.解压。如:sudo tar -zxvf hadoop2.2.0  解压在/sf/hadoop-2.2.0

    2.在hadoop的目录下创建3个文件夹:(sudo mkdir dfs)

      注意:这里创建完要注意每个目录到权限,如果是root,则必须修改为本用户权限;修改权限的命令为:sudo chown -R zhao:zhao /dfs

        /sf/hadoop-2.2.0/dfs/name,

        /sf/hadoop-2.2.0/dfs/data,

        /sf/hadoop-2.2.0/dfs/temp

    3.修改hadoop中的配置文件(主要在hadoop中的etc/目录下):

        配置文件1(hadoop-env.sh)

           只要更改该文件中JAVA_HOME既可以 

1 # The java implementation to use.
2 export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07/

        配置文件2(yarn-env.sh)

           一定要找个文件中的export JAVA_HOME所在的位置,还是修改JAVA_HOME

1 export JAVA_HOME=/home/hadoop/sf/jdk1.7.0_07/

       配置文件3(slaves)

          主要为了让master节点知道有哪些从节点,这里也将主节点也作为一个从节点使用。

1 master
2 slave01
3 slave02
4 slave03

  配置文件4(core-site.xml)

1 <configuration>
 2    <property>
 3       <name>fs.defaultFS</name>
 4       <value>hdfs://master:9000</value>   //这里到master是主机名,随着自己主机名进行修改,以下的master作相同操作
 5    </property>
 6 
 7   <property>
 8      <name>hadoop.tmp.dir</name>
 9      <value>/home/hadoop/sf/hadoop-2.2.0/dfs/temp/</value>
10   </property>
11 </configuration>

  配置文件5(hdfs-site.xml)

1 <configuration>
 2    <property>
 3      <name>dfs.namenode.secondary.http-address</name>
 4      <value>master:9001</value>
 5    </property>
 6    <property>
 7      <name>dfs.namenode.name.dir</name>
 8      <value>/home/hadoop/sf/hadoop-2.2.0/dfs/name/</value>
 9    </property>  
10    <property>
11      <name>dfs.namenode.data.dir</name>
12      <value>/home/hadoop/sf/hadoop-2.2.0/dfs/data/</value>
13    </property>
14    <property>
15      <name>dfs.replication</name>
16      <value>1</value>
17    </property>
18    <property>
19      <name>dfs.webhdfs.enabled</name>
20      <value>true</value>
21    </property>
22 </configuration>

      配置文件6 (mapred-site.xml)

注:没有这个文件,要将mapred-site.xml.template文件改成mapred-site.xml

1 <configuration>
 2   <property>
 3     <name>mapreduce.framework.name</name>
 4     <value>yarn</value>
 5   </property>
 6   <property>
 7     <name>mapreduce.jobhistory.address</name>
 8     <value>master:10020</value>
 9   </property>
10   <property>
11     <name>mapreduce.jobhistory.webapp.address</name>
12     <value>master:19888</value>
13   </property>
14 </configuration>

  配置文件7(yarn-site.xml)

1 <configuration>
 2 <!-- Site specific YARN configuration properties -->
 3   <property>
 4     <name>yarn.nodemanager.aux-services</name>
 5     <value>mapreduce_shuffle</value>
 6   </property>
 7   <property>
 8     <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
 9     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
10   </property>
11   <property>
12     <name>yarn.resourcemanager.address</name>
13     <value>master:8032</value>
14   </property>
15   <property>
16     <name>yarn.resourcemanager.scheduler.address</name>
17     <value>master:8030</value>
18   </property>
19   <property>
20     <name>yarn.resourcemanager.resource-tracker.address</name>
21     <value>master:8031</value>
22   </property>
23   <property>
24     <name>yarn.resourcemanager.admin.address</name>
25     <value>master:8033</value>
26   </property>
27   <property>
28     <name>yarn.resourcemanager.webapp.address</name>
29     <value>master:8088</value>
30   </property>
31 </configuration>

4.格式化namenode: ./bin/hdfs namenode –format

5.启动hdfs: ./sbin/start-dfs.sh

   此时在master上面运行的进程有:namenode secondarynamenode

    slave01~slave03上面运行的进程有:datanode

6.启动yarn: ./sbin/start-yarn.sh

    此时在master上面运行的进程有:namenode secondarynamenode  resourcemanager

   slave01~slave03上面运行的进程有:datanode nodemanager

 5、配置其余从节点

     只要将master节点配置成功的hadoop文件夹传给每个从节点上即可。

      命令:scp -r  /home/hadoop/sf/hadoop-2.20.0 ~/sf/