Hadoop2.6.5分佈式集羣搭建和測試

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 [email protected]
   ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
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集羣搭建成功!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章