這篇文章主要介紹了windows上如何配置hadoop,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供移動服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
1.1 程序文件
上篇文章已經(jīng)編譯了hadoop,并拿到一個targz的包,后來發(fā)現(xiàn)這個壓縮包只是hadoop-common\hadoop-dist\target\hadoop-3.0.0-SNAPSHOT的壓縮版本而已,編譯好的全部文件就是這個文件夾,所以把這個目錄拷貝到你想要的目錄,下面稱這個程序目錄為 %HADOOP_PERFIX% (這個環(huán)境變量下面要配置,所以這里先用上)。
1.2 配置文件
下面的配置文件均位于 %HADOOP_PERFIX%\etc 目錄,所以只標(biāo)志文件名
1.2.1 hadoop-env.cmd
在這個文件夾里設(shè)置幾個環(huán)境變量(這里需要改的就是 HADOOP_PERFIX,改成自己本機(jī)的目錄)
set HADOOP_PREFIX=**你的程序目錄** set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop set YARN_CONF_DIR=%HADOOP_CONF_DIR% set PATH=%PATH%;%HADOOP_PREFIX%\bin
1.2.2 core-site.xml
這個文件默認(rèn)只有configuratiion節(jié),因為我們部署的是單機(jī)節(jié)點,直接把wiki上的復(fù)制過來就行了。
fs.default.name hdfs://0.0.0.0:19000
1.2.3 hdfs-site.xml
同上直接復(fù)制到對應(yīng)文件里。
dfs.replication 1
1.2.4 slaves
用記事本打開這個文件,看一下里面是不是有一行
localhost
1.2.5 mapred-site.xml
這是對 mapReduce nextGen,也就是 YARN 的配置。我們既然學(xué)習(xí),自然要學(xué)習(xí)最新的 ^_^ 。直接復(fù)制到文件中即可(如果沒有文件,則直接創(chuàng)建)
mapreduce.job.user.name %USERNAME% mapreduce.framework.name yarn yarn.apps.stagingDir /user/%USERNAME%/staging mapreduce.jobtracker.address local
1.2.6 yarn-site.xml
同上,是yarn的配置文件,如果沒有,則創(chuàng)建。
yarn.server.resourcemanager.address 0.0.0.0:8020 yarn.server.resourcemanager.application.expiry.interval 60000 yarn.server.nodemanager.address 0.0.0.0:45454 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.server.nodemanager.remote-app-log-dir /app-logs yarn.nodemanager.log-dirs /dep/logs/userlogs yarn.server.mapreduce-appmanager.attempt-listener.bindAddress 0.0.0.0 yarn.server.mapreduce-appmanager.client-service.bindAddress 0.0.0.0 yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds -1 yarn.application.classpath %HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*
用管理員模式打開一個cmd窗口,切換到 %HADOOP_PERFIX% 目錄(不用管理員模式的cmd窗口容易出現(xiàn)讀取文件的權(quán)限問題)。
運(yùn)行 etc\hadoop\hadoop-env.cmd 進(jìn)行環(huán)境變量的設(shè)置。 因為cmd中的set只對本次cmd有效,所以接下來都在這同一個cmd中操作。
運(yùn)行 bin\hdfs namenode -format 命令,初始化一個hdfs文件系統(tǒng)。默認(rèn)初始化的目錄為 當(dāng)前盤符:\tmp 也就是我在P盤下,會自動創(chuàng)建一個 P:\tmp 目錄。
運(yùn)行 sbin\start-dfs.cmd
如果正常,會彈出兩個cmd窗口千萬不要關(guān)@_@
打開一個cmd,或者回到最開始的cmd也可以。 先輸入hdfs 命令試一下。 如果提示不是內(nèi)部或外部命令,則重新運(yùn)行 etc\hadoop\hadoop-env.cmd 如果正常,則會提示一些hdfs的相關(guān)命令。 cd到一個目錄,往hdfs里放個文件試一下。
cd P:\java\apache-tomcat-8.0.35\logs hdfs dfs -put localhot.2016-06-10.log /
就是把 .log 這個文件放到 hdfs的 / 下面。 如果有什么奇怪的提示,先不管。如果報錯,額... 博主沒遇到問題,根據(jù)錯誤信息自行搜索一下。不過我想首先,確保不要手賤的把剛才的兩個服務(wù)的cmd關(guān)了。。 然后看一下文件是不是放到dfs中了。
hdfs dfs -ls /
好了,dfs 測試成功!
下面就是測試一下mapreduce了。
2.2.1 運(yùn)行yarn
如果剛才測試dfs的時候你cd到了其他目錄,現(xiàn)在需要先cd回到 %HADOOP_PERFIX% 然后運(yùn)行
sbin\start-yarn.cmd
不出意外的話,又是兩個cmd彈了出來,好了,現(xiàn)在yarn就在運(yùn)行中了。 然后測試一下yarn,運(yùn)行:
bin\yarn jar %HADOOP_PREFIX%\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.5.0.jar wordcount /localhot.2016-06-10.log /out
簡單分析一下這個命令,執(zhí)行某jar包中的wordcount任務(wù)(這個任務(wù)是做啥的,等等下面看一下輸出)。輸出到hdfs的out目錄下。不出意外的話,你會拿到這么一個輸出。
當(dāng)然,為了驗證是否真的正確,我們得看一下結(jié)果。 繼續(xù)在cmd中輸入命令:
hdfs dfs -get /out P:\
把out目錄從hdfs中復(fù)制到P盤下。 好了,現(xiàn)在打開P:\out 文件夾。發(fā)現(xiàn)一個0k的 _SUCCESS 看來只是標(biāo)志任務(wù)成功的文件。還有一個 10k的part-r-00000,打開之后發(fā)現(xiàn):
原來,這個任務(wù)是統(tǒng)計文件中各詞出現(xiàn)的次數(shù),另外,中文在文件里面亂碼了??磥韍adoop的編碼問題還要解決一下,這個之后再解決吧。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“windows上如何配置hadoop”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!