文章出處

目的

這篇文檔的目的是幫助你快速完成單機上的Hadoop安裝與使用以便你對Hadoop分布式文件系統(HDFS)和Map-Reduce框架有所體會,比如在HDFS上運行示例程序或簡單作業等。

先決條件

支持平臺

  • GNU/Linux是產品開發和運行的平臺。 Hadoop已在有2000個節點的GNU/Linux主機組成的集群系統上得到驗證。
  • Win32平臺是作為開發平臺支持的。由于分布式操作尚未在Win32平臺上充分測試,所以還不作為一個生產平臺被支持。

所需軟件

Linux和Windows所需軟件包括:

  1. JavaTM1.5.x,必須安裝,建議選擇Sun公司發行的Java版本。
  2. ssh 必須安裝并且保證 sshd一直運行,以便用Hadoop 腳本管理遠端Hadoop守護進程。

Windows下的附加軟件需求

  1. Cygwin - 提供上述軟件之外的shell支持。

安裝軟件

如果你的集群尚未安裝所需軟件,你得首先安裝它們。

以Ubuntu Linux為例:

$ sudo apt-get install ssh 
$ sudo apt-get install rsync

在Windows平臺上,如果安裝cygwin時未安裝全部所需軟件,則需啟動cyqwin安裝管理器安裝如下軟件包:

  • openssh - Net 類

下載

為了獲取Hadoop的發行版,從Apache的某個鏡像服務器上下載最近的 穩定發行版

運行Hadoop集群的準備工作

解壓所下載的Hadoop發行版。編輯 conf/hadoop-env.sh文件,至少需要將JAVA_HOME設置為Java安裝根路徑。

嘗試如下命令:
$ bin/hadoop 
將會顯示hadoop 腳本的使用文檔。

現在你可以用以下三種支持的模式中的一種啟動Hadoop集群:

  • 單機模式
  • 偽分布式模式
  • 完全分布式模式

單機模式的操作方法

默認情況下,Hadoop被配置成以非分布式模式運行的一個獨立Java進程。這對調試非常有幫助。

下面的實例將已解壓的 conf 目錄拷貝作為輸入,查找并顯示匹配給定正則表達式的條目。輸出寫入到指定的output目錄。 
$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 
$ cat output/*

偽分布式模式的操作方法

Hadoop可以在單節點上以所謂的偽分布式模式運行,此時每一個Hadoop守護進程都作為一個獨立的Java進程運行。

配置

使用如下的 conf/hadoop-site.xml:

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>localhost:9000</value>
  </property>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

免密碼ssh設置

現在確認能否不輸入口令就用ssh登錄localhost:
$ ssh localhost

如果不輸入口令就無法用ssh登陸localhost,執行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

執行

格式化一個新的分布式文件系統:
$ bin/hadoop namenode -format

啟動Hadoop守護進程:
$ bin/start-all.sh

Hadoop守護進程的日志寫入到 ${HADOOP_LOG_DIR} 目錄 (默認是 ${HADOOP_HOME}/logs).

瀏覽NameNode和JobTracker的網絡接口,它們的地址默認為:

將輸入文件拷貝到分布式文件系統:
$ bin/hadoop fs -put conf input

運行發行版提供的示例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

查看輸出文件:

將輸出文件從分布式文件系統拷貝到本地文件系統查看:
$ bin/hadoop fs -get output output 
$ cat output/*

或者

在分布式文件系統上查看輸出文件:
$ bin/hadoop fs -cat output/*

完成全部操作后,停止守護進程:
$ bin/stop-all.sh

完全分布式模式的操作方法

關于搭建完全分布式模式的,有實際意義的集群的資料可以在這里找到。

詳情請查看官方文檔:Hadoop快速入門


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()