Hadoop2.2.0 單節點安裝
如果是基于學習的目的而需要使用Hadoop,建議下載Linux虛擬機,比如Ubuntu,然后在虛擬機中安裝Hadoop。
可以Google一下VMWare Player和Ubuntu,并下載安裝到本地。你也可以下載其他一些工具以方便您操作虛擬機,比如Putty。請參考各自相關文檔。
如果不具備操作Linux的基本知識,建議先熟悉Linux的基本操作。(本人也不是Linux高手,但是可以進行基本操作,比如復制文件、安裝程序之類的)
本文寫作時,Hadoop 2.2已經發布,您可以訪問以下地址獲取最新的安裝包:
http://mirror.esocc.com/apache/hadoop/common/ 下載hadoop-2.2.0.tar.gz

安裝前提:
以下兩個軟件是在Linux下必須安裝的。如果沒有安裝,可以分別執行以下命令進行安裝:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
我們以單節點集群為例,演示如何安裝在Ubuntu上安裝Hadoop2.2.0。
安裝步驟:
1)將下載的Hadoop安裝包放到指定的目錄,比如放到您當前用戶的home目錄。執行以下命令解壓安裝包:
tar xzf hadoop-2.2.0.tar.gz
2)編輯home目錄下的.bashrc,添加以下項:
# add for hadoop 2.2
export HADOOP_HOME=/home/user/hadoop-2.2.0
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
3)添加namenode和datanode目錄
mkdir -p $HADOOP_HOME/yarn/yarn_data/hdfs/namenode
mkdir -p $HADOOP_HOME/yarn/yarn_data/hdfs/datanode
注:請將$HADOOP_HOME替換成hadoop的安裝目錄
4)編輯yarn-site.xml,加入以下配置:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
注:根據需要,可以更改端口號以及本地文件目錄。如果使用了本地文件目錄,最好事先創建好這些對應的目錄。比如上面的配置文件中,我們使用了/home/user/hadoop-2.2.0/nodemanager-local-dirs 這個目錄。
5)編輯core-site.xml,添加以下配置:
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
6)編輯hdfs-site.xml,添加以下配置:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/datanode</value>
</property>
7)編輯mapred-site.xml,添加以下配置:
<property>
<name>mapreduce.cluster.temp.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>
<property>
<name>mapreduce.cluster.local.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>
注:如果該文件不存在,可通過復制mapred-site.xml.template文件而得。
8)編輯hodoop-env.sh,修改以下對應行為:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
注:請確定JAVA已正確安裝。如果沒有,你可以參照相關文檔進行JAVA的安裝。
9)初始化noamenode
bin/hadoop namenode -format
10)啟動hadoop守護進程。依次執行以下命令:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
11)運行以下命令可以查看各服務狀態:
http://localhost:50070
http://localhost:8088
http://localhost:19888





</div>
如果需要停止以上服務,可依次運行以下命令:
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop secondarynamenode
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/mr-jobhistory-daemon.sh stop historyserver
注:可以將以上多條命令放到一個腳本文件中,以方便執行。
12)測試
運行以下命令創建數據文件并復制到dfs中:
mkdir in
vi in/file
Hadoop is fast
Hadoop is cool
bin/hadoop fs -copyFromLocal in/ /in
用Hadoop自帶的wordcount進行測試:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /in /out
如果安裝正確,您將可以在屏幕上看到任務調用后的各項處理信息。
如果你再次調用該任務,可能會出現/out目錄已存在的錯誤信息,此時您可以調用以下命令清除對應的目錄,比如:
bin/hadoop fs -rm -r /out
本文參考了以下文章:
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/index.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!