vmware虚拟机环境:

                192.168.60.128    master
                192.168.60.129    node129
                192.168.60.130    node130

1、修改每台虚拟机的/etc/sysconfig/network和/etc/hosts

#修改hostname:vim /etc/sysconfig/network
#修改hosts内容如下:vim /etc/hosts
                192.168.60.128    master
                192.168.60.129    node129
                192.168.60.130    node130

2、配置三台机器互信(以128机器为例):

2.1 ssh-keygen -t rsa
2.2 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@192.168.60.129
   ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@192.168.60.130
2.3  剩下的每台机器上都要重复上面的操作

3.安装jdk和配置环境变量

分别在每台主机上安装jdk,并配置环境变量。(嫌麻烦的前面可以安装完jdk后再克隆)

1)下载jdk安装包(自行百度),并将安装包拖入到虚拟机当中

2)通过cd命令进入到安装包的当前目录,利用如下命令进行解压缩。

tar -zxvf jdk.....(安装包名称)

3)利用如下命令将解压后的文件夹移到/usr目录下 

#注意,这样移动到/usr以后就没有jdk1.8...这个目录了,是将这个目录下的所有文件全部移动到/usr/java下,mv jdk1.8...(文件夹名称) /usr/java

4)配置环境变量

sudo vim /etc/profile


在末尾加上四行:

  1. #java    

    export JAVA_HOME=/usr/java   

    export JRE_HOME=/usr/java/jre    

    export CLASSPATH=$JAVA_HOME/lib    

    export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  


输入如下命令使配置生效:source /etc/profile

4.master配置hadoop,然后将master的hadoop文件传送给node节点

1)解包移动

#解压hadoop包  
tar -zxvf hadoop...  
#将安装包移到/home/hadoop目录下  
mv hadoop... /home/hadoop/hadoop

2)新建文件夹

#在/home/hadoop目录下新建如下目录  
mkdir dfs  
mkdir dfs/name  
mkdir dfs/data  
mkdir tmp

修改JAVA_HOME值(export JAVA_HOME=/usr/java) 

4)配置文件:yarn-env.sh

修改JAVA_HOME值(export JAVA_HOME=/usr/java

5)配置文件:slaves

将内容修改为:

node129
node130

6)配置文件:core-site.xml

<configuration>  

    <property>  

        <name>fs.defaultFS</name>  

        <value>hdfs://master:9000</value>  

    </property>  

    <property>  

        <name>io.file.buffer.size</name>  

        <value>131072</value>  

    </property>  

    <property>  

        <name>hadoop.tmp.dir</name>  

        <value>file:/home/hadoop/tmp</value>  

        <description>Abase for other temporary directories.</description>  

    </property>  

</configuration>  


7)配置文件:hdfs-site.xml

<configuration>  

    <property>  

      <name>dfs.namenode.secondary.http-address</name>  

      <value>master:9001</value>  

    </property>  

     <property>  

      <name>dfs.namenode.name.dir</name>  

      <value>file:/home/hadoop/dfs/name</value>  

    </property>  

    <property>  

      <name>dfs.datanode.data.dir</name>  

      <value>file:/home/hadoop/dfs/data</value>  

    </property>  

    <property>  

      <name>dfs.replication</name>  

      <value>2</value>  

    </property>  

    <property>  

      <name>dfs.webhdfs.enabled</name>  

      <value>true</value>  

    </property>  

</configuration>  


8)配置文件:mapred-site.xml

先创建然后编辑

 cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

<configuration>  
   <property>                                       

      <name>mapreduce.framework.name</name>  

      <value>yarn</value>  

  </property>  

  <property>  

      <name>mapreduce.jobhistory.address</name>  

        <value>master:10020</value>  

  </property>  

   <property>  

      <name>mapreduce.jobhistory.webapp.address</name>  

      <value>master:19888</value>  

  </property>  

</configuration>  


9)配置文件:yarn-site.xml

<configuration>  

   <property>  

       <name>yarn.nodemanager.aux-services</name>  

       <value>mapreduce_shuffle</value>  

   </property>  

   <property>                                         

        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  

        <value>org.apache.hadoop.mapred.ShuffleHandler</value>  

   </property>  

   <property>  

        <name>yarn.resourcemanager.address</name>  

        <value>master:8032</value>  

   </property>  

   <property>  

        <name>yarn.resourcemanager.scheduler.address</name>  

        <value>master:8030</value>  

   </property>  

   <property>  

        <name>yarn.resourcemanager.resource-tracker.address</name>  

        <value>master:8031</value>  

      </property>  

   <property>  

        <name>yarn.resourcemanager.admin.address</name>  

        <value>master:8033</value>  

   </property>  

   <property>  

        <name>yarn.resourcemanager.webapp.address</name>  

        <value>master:8088</value>  

   </property>  

</configuration>  


10)将hadoop传输到node129和node130 /home/hadoop目录

 scp -r /home/hadoop/hadoop hadoop@node129:/home/hadoop
 scp -r /home/hadoop/hadoop hadoop@node130:/home/hadoop
5、配置环境变量,并启动hadoop,检查是否安装成功
1)配置环境变量

#编辑/etc/profile
sudo vim /etc/profile
#以上已经添加过java的环境变量,在后边添加就可以
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin

执行 

source /etc/profile


使文件生效。

2)启动hadoop,进入hadoop安装目录

bin/hdfs namenode -format
sbin/start-all.sh

3)启动后分别在master, node下输入jps查看进程

看到下面的结果,则表示成功。

Master:

wKiom1l4J_6StBgBAAASSOvqIH0306.png-wh_50

node:

wKioL1l4KAagAcTdAAAMcEjalN0494.png-wh_50

6.向hadoop集群系统提交第一个mapreduce任务(wordcount)

1、  hdfs dfs -mkdir -p /data/input在虚拟分布式文件系统上创建一个测试目录/data/input

2、  hdfs dfs -put README.txt  /data/input  将当前目录下的README.txt 文件复制到虚拟分布式文件系统中

3、  hdfs dfs-ls /data/input    查看文件系统中是否存在我们所复制的文件

4、  运行如下命令向hadoop提交单词统计任务

进入jar文件目录,执行下面的指令。

hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /data/input /data/output/result


查看result,结果在result下面的part-r-00000中

hdfs dfs -cat /data/output/result/part-r-00000

wKioL1l4KJrRKMP9AAAst7jKgu8526.png


自此,hadoop集群搭建成功!