# Hadoop單機環境搭建筆記(ubuntu)
**下載hadoop**
hadoop下載地址:
[http://www.apache.org/dyn/closer.cgi/hadoop/core/](http://www.apache.org/dyn/closer.cgi/hadoop/core/)
這里下載的版本是1.0.3
$ mkdir hadoop
$ wget?http://www.fayea.com/apache-mirror/hadoop/core/stable/hadoop-1.0.3.tar.gz .
**安裝java**
首先用“java -version”查看是否已安裝,如果顯示類似于java version "1.7.0_147-icedtea 則表示已安裝
沒有安裝可以參考:[http://blog.csdn.net/yang_hui1986527/article/details/6677450](http://blog.csdn.net/yang_hui1986527/article/details/6677450)
安裝必須設置JAVA_HOME和CLASSPATH
我的配置:
export PATH=${PATH}:/usr/lib/jvm/java-6-openjdk-amd64/bin
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JRE_HOME}/lib:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
并將這兩行語句放在:~/.bashrc中
**安裝ssh**
$ sudo apt-get install ssh
安裝完成后,需要確認可以用ssh免密碼登錄localhost
$ ssh localhost
如果需要密碼才能登錄,則需要設置:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
**安裝rsync**
rsync是linux實現遠程同步的軟件
$?sudo apt-get install rsync
**配置啟動hadoop**
解壓:
`$ tar -zxvf ?hadoop-1.0.3.tar.gz`
設置JAVA_HOME
編輯conf/hadoop-env.sh文件,找到:
`# export JAVA_HOME=/usr/lib/j2sdk1.5-sun`
修改為:
`export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/`
修改配置文件:
如果不知道java在什么地方請用whereis java查詢
修改conf/core-site.xml:
~~~
??
??
fs.default.name??
hdfs://localhost:9000??
??
??
??
~~~
修改conf/hdfs-site.xml:
~~~
??
??
dfs.replication??
1??
??
??
hadoop.tmp.dir??
/home/work/hadoop_tmp??
??
??
~~~
修改conf/mapred-site.xml:
~~~
??
??
mapred.job.tracker??
localhost:9001??
??
??
~~~
初始化hadoop Namenode:
`$ bin/hadoop namenode –format`
啟動:
`$?bin/start-all.sh`
確認啟動:
~~~
$ jps
5146 Jps
4538 TaskTracker
4312 JobTracker
4015 DataNode
4228 SecondaryNameNode
3789 NameNode
~~~
表示啟動成功
**以下內容寫入~/.bashrc:**
~~~
alias hadoop='/home/zxm/hadoop/hadoop-1.0.3/bin/hadoop'
alias hls='hadoop fs -ls'
alias hlsr='hadoop fs -lsr'
alias hcp='hadoop fs -cp '
alias hmv='hadoop fs -mv'
alias hget='hadoop fs -get'
alias hput='hadoop fs -put'
alias hrm='hadoop fs -rm'
alias hmkdir='hadoop fs -mkdir'
alias hcat='hadoop fs -cat'
alias hrmr='hadoop fs -rmr'
alias hstat='hadoop fs -stat'
alias htest='hadoop fs -test'
alias htext='hadoop fs -text'
alias htouchz='hadoop fs -touchz'
alias hdu='hadoop fs -du'
alias hdus='hadoop fs -dus'
alias hchmod='hadoop fs -chmod'
alias hchgrp='hadoop fs -chgrp'
alias hchown='hadoop fs -chown'
alias htail='hadoop fs -tail'<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
~~~
常見問題解決方案:
問題1:運行hadoop命令是出現“Warning: $HADOOP_HOME is deprecated.”報警
解決:添加 ? export HADOOP_HOME_WARN_SUPPRESS=TRUE 到 hadoop-env.sh ?中
問題2:namenode無法啟動
解決:刪除/tmp/hadoop* 執行bin/hadoop namenode –format