Changes between Version 39 and Version 40 of Hadoop


Ignore:
Timestamp:
11/11/09 02:27:12 (10 years ago)
Author:
kosuke
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Hadoop

    v39 v40  
    144144   '''注意:'''<HADOOP_INSTALL>はhadoopをインストールしたフォルダを示す.ここでは、/usr/localがそれにあたる。 
    145145   
    146  
    147  
     146'''''10. シングルノードで動かす。''''' 
     147 
     148  以下に、hadoopの起動コマンドを示す. 
     149    
     150   '''$ bin/start-all.sh''' 
     151 
     152'''''11. プロセスのデバッグ''''' 
     153 
     154   プロセスがきちんと動いているかどうか確かめる必要がある。確かめるには以下のコマンドを使う。 
     155 
     156    '''$ jps''' 
     157 
     158   下記のようなのが表示されれば成功。 
     159   {{{ 
     160   8816 Jps 
     161   8293 DataNode 
     162   8700 TaskTracker 
     163   8457 SecondaryNameNode 
     164   8570 JobTracker 
     165   8157 NameNode 
     166   }}} 
     167 
     168'''''12. ポートのデバッグ''''' 
     169 
     170   7.で構成したポートが正しくhadoopに認識されているか確かめる.確かめるにはnetstatを使った以下のコマンドを実行する. 
     171 
     172   '''sudo netstat -plten | grep java''' 
     173 
     174   下記のようなのが表示されれば成功。 
     175  {{{ 
     176  tcp        0      0 192.168.66.133:54310.0.0.0:*                   
     177  LISTEN      1001       33013     8157/java        
     178  tcp        0      0 192.168.66.133:54311   0.0.0.0:*                 
     179  LISTEN      1001       34783       8570/java 
     180  }}}     
     181 
     182   もし、この時点でエラーが発生した場合は、<HADOOP_INSTALL>/logs/にあるlogファイルをチェックするとよい。 
     183 
     184'''''13. シングルノードを止める。''''' 
     185 
     186   止めるには以下のコマンドを実行する。 
     187 
     188  '''$ <HADOOP_INSTALL>/bin/stop-all.sh''' 
     189 
     190'''''14. MapReduceを動かしてみる''''' 
     191 
     192   テキストファイルになにか適当な文字を何回か入力してそれをhadoopにカウントさせてみる。hadoopディレクトリ以下にinputsというディレクトリを作成する。 
     193 
     194   '''$ mkdir inputs''' 
     195 
     196   作ったinputsにfile1というファイルを作り、それに以下hoge hoge hoge fuga fugaを入力する。 
     197    
     198   '''$ cat > inputs/file1''' 
     199 
     200   '''hoge hoge hoge fuga fuga''' 
     201    
     202   作ったディレクトリをHDFSに転送する.(start-all.sh実行前にdfsのコマンドを実行すると Retrying connect to server: localhost/127.0.0.1:54310というエラーが起きる。) 
     203 
     204   '''$ bin/start-all.sh''' 
     205 
     206   '''$ bin/hadoop dfs -copyFromLocal inputs inputs''' 
     207 
     208   ここで、copyFromLocal: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hadoop/inputs. Name node is in safe mode.のようなエラーがでるときがある。こういう場合は以下のコマンドを実行するとよい。 
     209 
     210   '''$ bin/hadoop dfs -put inputs inputs''' 
     211 
     212   作ったディレクトリが転送されているか確認する。 
     213 
     214   '''$ bin/hadoop dfs -ls''' 
     215   
     216   転送されたディレクトリにfile1があることを確認する。 
     217 
     218   '''$ bin/hadoop dfs -ls inputs''' 
     219 
     220   サンプルプログラムを動かしてみる。 
     221 
     222   '''$ bin/hadoop jar hadoop-0.20.0-examples.jar wordcount inputs outputs''' 
     223 
     224   ここで、・・・java.io.IOException: Error opening job jar: hadoop-0.20.0-examples.jarと表示される場合は、<HADOOP_INSTALL>/hadoop/hadoop-0.20.0-examples.jarのアクセス権限を変更してあげるとよい。僕の環境では実行し終わるまでに24秒かかった。 
     225 
     226  出力ディレクトリを確認してみる。 
     227 
     228   '''$ bin/hadoop dfs -ls''' 
     229 
     230   つぎのような表示が出ればOK 
     231 
     232   {{{ 
     233   drwxr-xr-x - hadoop supergroup 0 2009-08-24 12:01 /user/hadoop/outputs 
     234   }}} 
     235 
     236   DFS上のファイルを出力する。 
     237   
     238  $ bin/hadoop dfs -cat outputs/part-r-00000 
     239 
     240   次のように表示されればOK. 
     241 
     242  {{{ 
     243   fuga 2 
     244   hoge 3 
     245   }}} 
     246 
     247   HDFS上のファイルをローカルに転送する。 
     248 
     249   '''$ bin/hadoop dfs -copyToLocal outputs/part-r-00000 ./part-r-00000''' 
     250  
     251   転送したファイルを表示する。 
     252   
     253   '''cat part-r-00000''' 
     254 
     255   {{{ 
     256   fuga 2 
     257   hoge 3 
     258   }}} 
     259    
     260   
     261 
     262 
     263     
     264