Hadoop---在window下基於cygwin的安裝配置
1. 下載hadoop安裝包
可以到這個網站上下載http://www.apache.org/dist//hadoop/core/如果下載不下來自己到網上找找很多的。選一個版本下載。我用的是hadoop-0.20.2。
2.解壓到一個目錄下。隨便選擇按個目錄。建議直接選擇一個根目錄。隨後進行配置。這裏配置的是僞分佈式了。需要配置四個文件。都在conf目錄下。分別爲:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml。下面逐一說明:
3.hadoop-env.sh
這個文件中主要配置JAVA_HOME路徑。需要注意的是:1.jkd是1.6以上版本。2.路徑應該是linux風格的。打開後將export前面的#註釋符去掉,路徑爲/cygdrive/你的jdk路徑。如果路徑中有空格需要將路徑用‘’括起來。設置後如下圖:
4. core-site.xml
配置屬性很多。到也可以簡化自己設置幾個屬性就可以了。這裏我們直接複製src/core下的core-default.xml到conf下並改名爲core-site.xml替換原來的。修改下列屬性如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
設置臨時的文件hadoop默認中有了但重啓後會被刪除所以還得需要格式化所以手動設定一個。避免格式化。
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
5. hdfs-site.xml
這個也同樣到src/hdfs下把hdfs-default.xml複製到conf下改名替換。修改下列屬性:
<name>dfs.name.dir</name>
<value>/hadoop/name</value>
<description> </description>
</property>
DFS名節點存放位置
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
<description></description>
</property>
DFS數據節點存放位置
<property>
<name>dfs.replication</name>
<value>1</value>
<description></description>
</property>
存放副本數,這是爲了安全考慮的在集羣中要多放幾個。咱們是僞分佈式的就一個可以了。
6. mapred-site.xml
這個也同樣到src/mapred中把mapred-default.xml複製到conf中改名替換。修改下列屬性:
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<description></description>
</property>
MapReduce 的jog tracker運行在所在主機及端口號。
<property>
<name>mapred.local.dir</name>
<value>/hadoop/temp</value>
<description> </description>
</property>
MapReduce的運行中間數據文件的存放路徑
7. 這就可以了。設置就結束了。下面運行試一試。
使用cygwin進入到hadoop安裝路徑下的bin文件夾中。查看顯示如下:
首先格式化:./hadoop namenode –format 如果讓選擇Y/N 選擇Y。如下圖:
其次運行:./start-sh.all 如下圖則成功了。總共會啓動五個節點。
最後:運行一下自帶的wordcount例子。
1.先在本地文件建立一個文件夾(最好建在hadoop的安裝文件在同一個目錄下)如testin隨後在裏面建幾個文件txt或java的隨意。在裏面輸入以下英文單字。如file1.java 內容Hello world!file2.java 內容:I love you !
2.在cygwin中將一個hadoop hdfs上的目錄如testin。命令如下:
./hadoop dfs –mkdir testin
3.將本地的兩個文件上傳到dfs上去。
./hadoop dfs –put /testin/*.java testin
此時運行./hadoop dfs –ls testin 就會就會發現已有了這兩個文件了。
2、3步執行如下圖:
4.執行
./hadoop jar ./../hadoop-0.20.2-examples.jar wordcount testin testout
如下圖則成功了
運行上述命令可能會出現在如下錯誤
解決辦法是:
將mapred-site.xml中的mapred.child.tmp修改爲D:/hadoop/tmp(當然也可以爲其它目錄),並在運行hadoop之前創建好它,目錄權限設置爲wxr,它的默認值爲./tmp,使用默認值就會報FileNotFound錯誤。
原文連接:http://www.hadoopor.com/thread-415-1-1.html
5.查看結果
./hadoop dfs -ls testout 會發現下面有兩個文件一個是日誌一個是結果文件。
./hadoop dfs -cat testout/part-r-00000 查看統計單字的結果文件
執行如下圖:
至此hadoop就安裝配置都已結束並經過測試已經可以正常運行了。開始雲學習吧