Hadoop2.2.0 單節點安裝

jopen 10年前發布 | 28K 次閱讀 Hadoop2 分布式/云計算/大數據

如果是基于學習的目的而需要使用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

d1.jpg

安裝前提:

以下兩個軟件是在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

d2.jpg
</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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!