問題及解決方案
1.啟動過程中出現(xiàn)問題: JAVA_HOME IS NOT SET.
解決方法是修改etc/hadoop/hadoop-env.sh文件,添加如下內(nèi)容
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_51
2.HADOOP_CONF_DIR 未配置,出現(xiàn)錯誤:Error: Cannot find configuration directory: 在/etc/profile中添加:
export HADOOP_HOME=/root/jhh/hadoop/hadoop-0.23.9
export YARN_HOME=/root/jhh/hadoop/hadoop-0.23.9
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
3.訪問log文件,permisson denied。 chmod修改log文件夾權(quán)限。
總結(jié):
今天剛配置了一遍,只是單機版的偽分布式環(huán)境,之后在測試機上搭一遍。
剛開始學習hadoop,安裝配置過程也走了一些彎路,希望多多討論,互相學習。
問題導讀:1.如何判斷格式化成功?2.hadoop2.4啟動方式是否發(fā)生變化?3.hadoop2.4在配置方面是否有變化?包下載:hadoop2.4最新版本各種包下載在折騰了一天多才弄好環(huán)境的煩躁下,中間遇到各種問題,網(wǎng)上搜索還沒有結(jié)果,最終經(jīng)過很多折騰終于搞定,我覺得我有必要自己寫一篇關(guān)于hadoop的安裝了。-------------------------------------------------------------------------------------------------------------------本人的準備工作,官網(wǎng)最新的java7u25(至少是java7,具體版本不記得了,是apt安裝的openjdk-java),hadoop也是最新的2.4.0。采用偽分布式模式,即hadoop將所有進程運行于同一臺主機上,但此時Hadoop將使用分布式文件系統(tǒng),而且各jobs也是由JobTracker服務管理的獨立進程。同時,由于偽分布式的Hadoop集群只有一個節(jié)點,因此HDFS的塊復制將限制為單個副本,其secondary-master和slave也都將運行于本地主機。此種模式除了并非真正意義的分布式之外,其程序執(zhí)行邏輯完全類似于完全分布式,因此,常用于開發(fā)人員測試程序執(zhí)行。1,準備工作切換為root用戶 apt安裝jdk,ssh 可以參考hadoop2完全分布式最新高可靠安裝文檔官網(wǎng)下載hadoop2.4.0,解壓到/home/wbq/hadoop2.4.0可以下載:hadoop2.4最新版本各種包下載2,對于hadoop的配置 #vi etc/profile
注意,這里說的etc不是hadoop文件夾下的那個,是用戶根目錄下的。在末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export HADOOP_PREFIX=/home/wbq/hadoop-2.4.0
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$HADOOP_PREFIX/bin:$PATH"
export HADOOP_PREFIX PATH CLASSPATH
進入hadoop2.4.0文件夾,配置etc/hadoop中的文件。
hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
另外可選的添加上:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
core-site.xml,做如下配置:
fs.default.name
hdfs://localhost:9000
dfs.namenode.name.dir
file:/home/wbq/hadoop-2.4.0/dfs/name
dfs.datanode.data.dir
file:/home/wbq/hadoop-2.4.0/dfs/data
hdfs-site.xml,做如下配置(系統(tǒng)默認文件保存3份,因偽分布模式,故改為1份):
dfs.replication
1
dfs.namenode.name.dir
/home/wbq/hadoop-2.4.0/dfs/name
dfs.datanode.data.dir
/home/wbq/hadoop-2.4.0/dfs/data
mapred-site.xml,做如下配置:
mapreduce.jobtracker.address
localhost:9001
這里2.4.0中沒有這個文件,可以新建一個,或者直接修改mapred-site.xml.template
mapreduce.framework.name
yarn
yarn-site.xml,如下配置:mapreduce.framework.nameyarnyarn.nodemanager.aux-servicesmapreduce_shuffle3,ssh免密碼登陸設置ssh-keygen -t rsa -P ""然后一直回車即可cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys注意我這里用的root目錄,不是傻逼呵呵的自己的用戶名下的目錄。試一下ssh localhost要是能免密碼登陸顯示系統(tǒng)信息,就應該是對的。(這里有個輸入密碼環(huán)節(jié),是系統(tǒng)的密碼)可以參考:linux(ubuntu)無密碼相互登錄高可靠文檔4,開始配置第一步:到hadoop2.4.0目錄下./bin/hadoop namenode –format格式化結(jié)點信息最后一句出現(xiàn)shutting down什么玩意,中間沒有warn或者fatal error應該就對了。第二步:然后,開始sbin/start-all.sh.新版本的hadoop其實不建議這么直接start-all,建議一步步來,神馬start-dfs,然后在start-map,之類的,我覺得麻煩,就沒試。若是這里出現(xiàn)神馬正在running,那么先執(zhí)行一步stop-all.sh操作,在start-all。還可能出現(xiàn)的是java神馬class不行,沒找到,或者讓你每步都加載,這是javahome設置的問題,請仔細檢查上面關(guān)于javahome的設置,是不是輸錯了。還有可能出現(xiàn)permission denied權(quán)限不夠,那就是你設置ssh登陸的問題我覺得可能是因為,上面我說的那種情況,你是在cat的時候,把密鑰加載到了wbq的目錄下,而不是root目錄下,而wbq(用戶名)又恰恰比起root來說權(quán)限不足,所以上面我說要從一開始就切換到root下執(zhí)行過程。這里要是出現(xiàn)好幾個staring這個那個的,而且沒有報錯,估計就是對了。測試一下狀態(tài)吧,檢查一下進程是否啟動jps命令:出現(xiàn)大概是:21567 SecondaryNameNode21384 DataNode21921 NodeManager22167 Jps21720 ResourceManager21237 NameNode然后再測試一下hadoop狀態(tài),./bin/hadoop dfsadmin -report,出現(xiàn)大概是:DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.14/05/02 10:50:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableConfigured Capacity: 31407177728 (29.25 GB)Present Capacity: 23889055744 (22.25 GB)DFS Remaining: 23889027072 (22.25 GB)DFS Used: 28672 (28 KB)DFS Used%: 0.00%Under replicated blocks: 0Blocks with corrupt replicas: 0Missing blocks: 0balabala&……………………(省略)Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Last contact: Fri May 02 10:50:35 CST 2014這就應該是對的了。高興的時候到了!瀏覽器下http://localhost:50070 這是hdfs的頁面
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。