hadoop的安裝和配置


hadoop安裝


在Apache Hadoop主頁的下載頁面https://hadoop.apache.org/releases.html選擇版本進行下載:
hadoop安裝配置-1
下載下來的是壓縮包:
hadoop安裝配置-2
將壓縮包使用Xftp上傳hadoop-1的/usr目錄下:
hadoop安裝配置-3
執行命令:

  1 # tar -zxvf hadoop-2.7.7.tar.gz

解壓完成后會在/usr目錄下生成hadoop-2.7.7目錄:
hadoop安裝配置-4
然后設置環境變量:
  1 # vim /etc/profile

在profile文件末尾添加:
  1 export HADOOP_HOME=/usr/hadoop-2.7.7
  2 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

hadoop安裝配置-5
保存文件,然后執行:
  1 # source /etc/profile

此時即可直接使用hadoop命令:
hadoop安裝配置-6
啟動hadoop有三種安裝模式:本地模式、偽分布式模式、分布式模式。

本地模式


本地模式只需要修改/usr/hadoop-2.7.7/etc/hadoop/hadoop-env.sh文件,設置JAVA_HOME即可。
在hadoop-1上面進行本地模式配置,在終端使用vim打開該文件:

  1 # vim hadoop-2.7.7/etc/hadoop/hadoop-env.sh

找到export JAVA_HOME=${JAVA_HOME}一行,將該行注釋掉,然后添加一行:
  1 export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64

hadoop安裝配置-7
本地模式即配置完成。
由於本地模式沒有HDFS,所以只能使用本地數據測試MapReduce程序。
在/home目錄下創建temp目錄,在temp目錄中創建一個test.txt文件:
  1 # mkdir /home/temp
  2 # vim /home/temp/test.txt

在test.txt文件中寫入如下測試內容:
  1 this is a example
  2 hello world hello bob hello everyone

執行命令進入MapReduce示例程序目錄:
  1 # cd /usr/hadoop-2.7.7/share/hadoop/mapreduce

查看目錄下的內容,執行命令:
  1 # ls -l

hadoop安裝配置-8
其中hadoop-mapreduce-examples-2.7.7.jar就是要來用測試的jar包,測試執行如下:
  1 # hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /home/temp/test.txt /home/temp/mcl

測試結果會生成在/home/temp/mcl目錄下,執行命令查看結果:
  1 # cat /home/temp/mcl/part-r-00000

可以看到每個單詞的統計結果數據。

偽分布式模式


偽分布式模式是在單機上,模擬一個分布式的環境,具備Hadoop的所有功能。
配置文件路徑:/usr/hadoop-2.7.7/etc/hadoop/
首先配置的文件是hadoop-env.sh,與本地模式一樣,配置好JAVA_HOME參數即可。
然后配置的兩個文件是hdfs-site.xml和core-site.xml,這兩個文件作用是配置HDFS的一些屬性。
在hdfs-site.xml文件中配置(數據冗余級別設置為1):
hadoop安裝配置-9
在core-site.xml文件中配置(namenode的地址和HDFS數據保存的目錄,默認是Linux的tmp目錄):
hadoop安裝配置-10
其中tmp目錄要手動創建:

  1 # mkdir /usr/hadoop-2.7.7/tmp

接下來配置的兩個文件是mapred-site.xml和yarn-site.xml,這兩個文件的作用是配置mapreduce使用yarn容器和yarn的一些屬性。
現在目錄中沒有mapred-site.xml文件,但是有一個mapred-site.xml.template文件,所以在/usr/hadoop-2.7.7/etc/hadoop路徑下執行命令:
  1 # cp mapred-site.xml.template mapred-site.xml

然后在拷貝的mapred-site.xml文件中添加配置(ResourceManager的地址):
hadoop安裝配置-11
在yarn-site.xml文件中配置(NodeManager運行MR任務的方式):
hadoop安裝配置-12
最后對namenode進行格式化,執行命令:
  1 # hdfs namenode -format

只要看到信息中有一句關鍵:
common.Storage: Storage directory /usr/hadoop-2.7.7/tmp/dfs/name has been successfully formatted.
則格式化成功:
hadoop安裝配置-13
啟動hadoop,執行/usr/hadoop-2.7.7/sbin目錄下的啟動腳本:
  1 # start-all.sh

完成后信息無報錯:
hadoop安裝配置-14
執行jps命令查看進程如下:
hadoop安裝配置-15
則啟動完成。
打開瀏覽器,輸入http://192.168.44.128:50070,即可打開hdfs的web頁面:
hadoop安裝配置-16
點擊Datanodes可以看到數據節點為hadoop-1:
hadoop安裝配置-17
測試wordcount驗證是否成功:
創建hadoop的wordCountInput用來上傳test.txt文件,執行命令:
  1 # hadoop fs -mkdir /wordCountInput

目錄創建完成后,將/home/temp/test.txt文件上傳該目錄,執行命令:
  1 # hadoop fs -put /home/temp/test.txt /wordCountInput

查看文件是否上傳,執行命令:
  1 # hadoop fs -ls /wordCountInput

hadoop安裝配置-18
然后使用hadoop-mapreduce-examples-2.7.7.jar測試執行如下:
  1 # hadoop jar /usr/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /wordCountInput/test.txt /wordCountOutput

hadoop安裝配置-19
等待計算完成,查看wordCountOutput目錄下的文件,執行命令:
  1 # hadoop fs -ls /wordCountOutput

可以看到計算結果文件已經生成:
hadoop安裝配置-20
查看結果數據,執行命令:
  1 # hadoop fs -cat /wordCountOutput/part-r-00000

test.txt文件中各個單詞的統計數據如下:
hadoop安裝配置-21
停止進程執行命令:
  1 # stop-all.sh

等下stop完成,執行jps命令可以看到進程已經全部關閉:
hadoop安裝配置-22

完全分布式模式


是真正的分布式環境,具備生產條件。
完全分布式模式與偽分布式模式的區別就在於配置文件配置內容不同,namenode與datanode分別部署在不同的服務器上。
以下使用hadoop-1、hadoop-2和hadoop-3三台服務器搭建一個完全分布式集群,其中hadoop-1為namenode節點,其余兩台為datanode節點。
在hadoop-1服務器上:
首先配置hadoop-env.sh文件,配置好JAVA_HOME參數。
然后配置hdfs-site.xml文件,將冗余級別改為3:
hadoop安裝配置-23
接下來core-site.xml文件,內容不需要修改:
hadoop安裝配置-10
接下來mapred-site.xml文件,內容不需要修改:
hadoop安裝配置-24
接下來yarn-site.xml 文件,內容不需要修改:
hadoop安裝配置-25
最后slaves文件中的localhost,改成hadoop-2和hadoop-3:
hadoop安裝配置-26
修改完成之后,將以上文件全部拷貝到hadoop-2和hadoop-3的相應目錄下無需做其他修改。

hadoop重置


因為之前搭建偽分布式模式時,格式化過hadoop-1的namenode,所以此處需要進行重置。
首先要刪除/usr/hadoop-2.7.7/logs目錄中的所有文件

  1 # rm -r *

hadoop安裝配置-27
然后重新格式化namenode:
  1 # hdfs namenode -format

hadoop安裝配置-28
然后執行啟動:
hadoop安裝配置-29
然后使用命令jps,查看三台服務器的進程如下:
hadoop-1:
hadoop安裝配置-30
hadoop-2:
hadoop安裝配置-31
hadoop-3:
hadoop安裝配置-32
打開瀏覽器,輸入http://192.168.44.128:50070,即可打開hdfs的web頁面:
hadoop安裝配置-33
點擊Datanodes可以看到數據節點為hadoop-2和hadoop-3:
hadoop安裝配置-34
本地模式一般情況下不用,開發可以使用偽分布式模式或者資源充足情況下使用完全分布式模式。
文中的配置文件參數都是最簡化的配置,實際情況應該按照需求進行配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM