【hadoop學習】Hadoop配置

【安裝版本】

1、WMware 7.1、RedHat Enterprise Linux 5

2、Hadoop 0.22


【安裝過程】

配置的過程實際就是修改相關配置文件的過程,這裏總結下配置單節點(single node) 環境下的 單節點配置和僞分佈式配置(standalone & Pseudo-Distributed)

1、配置之前需要配置 conf/hadoop_env.sh, 主要爲hadoop運行環境是加入JAVA_HOME的環境變量,該配置文件中已經有關於JAVA_HOME 的註解(linux中的註釋都是採用#),去掉註釋加入JAVA_HOME的地址即可(可以使用命令 $echo  &JAVA_HOME查看地址)----- 要是沒有進行這一步運行是會提示沒有找到JAVA_HOME;

2、配置好java_home環境之後在安裝文件的common/docx/index.html 中 有一個例子,在進入到hadoop的安裝文件目錄之後,運行下面的例子,下面的例子的意思是現在當前目錄下創建一個 input文件夾,然後將當前目錄下的conf文件夾中的所有xml格式的文件就拷貝到input文件夾中,本地執行hadoop操作(bin/hadoop),jar是運行jar架包,選擇一個具體的jar如hadoop-mapred-examples-0.22.0.jar, grep語句是正則匹配的意思,格式是 grep <indir <outdir> <regex> ,regex即正則表達式意思,‘dfs[a-z.]+'的意思就是以dfs爲前綴的字符串。輸出文件夾不存在的時候就自動創建一個;

3、打開顯示output文件夾中的所有文件,這個例子顯示的 1 dfsadmin

4、注意要是已經配置好hadoop僞分佈式環境之後執行這個例子,可能出現沒有輸入路徑的錯誤。原因是standalone執行的都是本地操作,而僞分佈式和分佈式中的文件都是hdfs中,例如創建 /root/input文件夾作爲輸入文件夾,由於此時已經配置conf中相關配置文件,故hadoop在hdfs端沒有找到這個輸入文件夾而報錯

【僞分佈式的配置】

僞分佈式的配置概括起來就是修改三個配置文件已經設置節點間無密碼訪問(僞分佈式也要設置無密碼訪問,ssh localhost)

1、配置三個文件,在安裝文件的 conf/docs/index.htm查看配置都有以下說明:


2、配置無密碼訪問和初次運行時格式化系統以及啓動hadoop


注意啓動hadoop時,使用上述命令已經過時,最好使用bin/start-dfs.sh、bin/start-mapred.sh分別啓動,查看啓動的結果可以用命令 $ jps (正常其中後有6個選項)。爲了方便每次執行hadoop命令是可以講bin/hadoop 的執行路徑寫入到系統環境變量中 在/etc/profile文件中的path路徑中加入 :haoop安裝路徑/bin即可,這樣以後可以在任何目錄下就直接執行hadoop,但是注意涉及一些生成目錄等的當前目錄


3、僞分佈式中都是在hdfs中執行,故都是在hdfs中查看相關文件,在hadoop安裝文件目錄下

$bin/hadoop fs -ls :查看hdfs中有哪些文件(夾)

  $bin/hadoop fs -mkdir  文件夾名 :在hdfs中創建文件夾

$bin/hadoop fs -rmr  文件夾名:在hdfs中刪除文件夾

$bin/hadoop fs -put  <本地文件夾名> <hdfs中文件夾名(沒有的話就自動創建一個)>:把linux本地文件拷貝到hdfs中

        $bin/hadoop  fs  -get <hafs中文件名> <本地文件名(沒有的話就自動創建一個)> :把hdfs中文件拷貝到本地

$bin/hadoop fs  -help :查看幫助

  注意:hadoop沒有目錄的概念,跟沒有 cd 的概念,要查看必須使用絕對路徑,如有hdfs中有某個文件夾 output,  要查看裏面的所有內容,可以使用 

         $bin/hadoop fs -ls ./output/*

Hadoop HDFS分佈式文件系統 常用命令彙總


4、僞分佈式的一個執行例子(在安裝文件 common/docx


該例子的意思就是在hdfs中創建input文件夾,並把本地conf文件夾中的內容拷到input中,在hdfs中執行一個jar架包,並且將結果放在hdfs中的output文件夾中,然後將hdfs中的output文件夾拷貝到本地顯示或者是直接在hdfs中顯示。


5、僞分佈式執行wordcount例子

同上面所述,也是先再hdfs中準備好input內容,然後執行: $ hadoop  jar hadoop-*-examples.jar wordcount input output,相當於在執行jar架包中的wordcount程序,可以選着在hdfs中查看output的內容,也可以選擇在用 -get 到本地然後查看。在hdfs中查看的時候可以選着先 $ hadoop fs -ls ./output/* 查看所有文件,其中有一個part-r-00000 文件,然後 $ hadoop fs -cat  ./output/part-r-00000即可(注意必須使用絕對路徑)

hadoop僞分佈式運行wordcount 實例Fedora14


6、RedHat用WebUI查看namenode和datanode

RedHat Enterprise 由於比較嚴格的防火牆控制,似的在瀏覽器中庸webui無法查看。可以使用 $service iptables stop/start臨時關閉和啓動防火牆

僞分佈式查看 使用虛擬機的ip地址即可:如192.168.111.129:50030/50070

Redhat關閉SELinux和防火牆的辦法




    

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