トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Hadoopをセットアップ のバックアップの現在との差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*Hadoopをセットアップ(疑似分散モード) [#z64153e4]

クリーンインストールしたCentOSにHadoopをセットアップし、疑似分散モードとして動作させるまでの記録です。

セットアップ対象環境は以下の通り。

|CPU|Core2 Duo 3G|
|メモリ|3GB|
|HDD|80G|
|OS|CentOS5.4|
|Javaバージョン|Sun JDK 1.6u22|
|Hadoopバージョン|0.20.2|

大きく、手順は以下の通り。

#contents

まあ、こんな感じですわ。

**javaのインストール(rootユーザ) [#t31cfcda]

※この作業はrootユーザで実施します。

今回は、SunのJDK1.6u22を使いました。資材は普通にSunのサイトからDLし、インストール。


**sshのパスワードなしログインの設定 [#m42e84be]

※この作業はrootユーザで実施します。

sshをパスワードなしでログインするための設定をします。

編集対象のファイルは以下の通り。

-/etc/ssh/sshd_config

以下の3行のコメントを外します。

 RSAAuthentication yes
 PubkeyAuthentication yes
 AuthorizedKeysFile      .ssh/authorized_keys

設定を変更したらsshdを再起動します。

 service sshd restart

ちなみに、sshでログインにsshd再起動してもコネクションは切れないんだね~優秀笑

**hadoopユーザ作成(rootユーザ) [#t4d8ef9a]

※この作業もrootユーザで実施します。

まあ、単純にuseraddします。

 useradd hadoop -p hadoop

造作もないですね。

**hadoopユーザのssh認証鍵生成、配置(hadoopユーザ) [#sea97eb9]

※この作業はhadoopユーザで実施します!

パスワードなしログイン用のRSA鍵の生成+公開鍵をauthorized_keysに流し込みます。

 ssh-keygen -t rsa -P ""
 cat .ssh/id_rsa.pub >> .ssh/authorized_keys

次に、生成された鍵ファイルの権限の確認します。

確認ポイントは以下の2点です。

-.sshが700となっていること
-「.ssh/authorized_keys」が600となっていること

なってなかったら、さくっと権限変更してください。

 chmod 600 authorized_keys

実は、小生ここではまりました笑

小生の環境では、hadoopユーザでオペレーションしたときに、「.ssh/authorized_keys」の権限が644になっていたため、NGでした。

sshのパスワードなしログインについては結構はまりどころみたいなので、参考にしたサイトのリンクを残します。

-http://www.geocities.jp/turtle_wide/tools/sshpass.html
&br;このサイトはほんとに参考になります。
-http://blog.livedoor.jp/yoko_net/archives/51789794.html


**hadoopのファイルを配置、設定ファイルの変(hadoopユーザ) [#oa22740c]

まず、hadoopのバイナリをhadoopのサイトからDLします。

-http://hadoop.apache.org/

次に、好みの場所に展開します。

書生は
-/opt

に展開しました。


して、展開後に、設定ファイルを編集します。

編集対象の設定ファイルは以下の4つです。それぞれ「/{hadoop-home}/conf」配下にあります。

+hadoop-env.sh
+core-site.xml
+hdfs-site.xml
+mapred-site.xml

それぞれの編集内容は以下の通り。

***hadoop-env.sh [#p3843a6e]

以下の3行を編集した。

 export JAVA_HOME=/usr/java/latest/ ←インストールしたjavaのパスを指定

 export HADOOP_HEAPSIZE=512 ← デフォルトでは1Gとなっているが、インストールするのがただのPCのため、512Mに変更

 export HADOOP_OPTS=-server ← コメントアウトを外す。


***core-site.xml [#mdd5b871]

デフォルトで配置されているファイルはほぼ空なので、編集後のファイルの内容をそのまま掲載

 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
 <!-- Put site-specific property overrides in this file. -->
 
 <configuration>
   <property>
     <name>fs.default.name</name>
     <value>hdfs://XXX.XXX.XXX.XXX:8020/</value>
   </property>
   <property>
     <name>hadoop.tmp.dir</name>
     <value>/var/hadoop</value>
   </property>
 </configuration>




***hdfs-site.xml [#i278aff6]

デフォルトで配置されているファイルはほぼ空なので、編集後のファイルの内容をそのまま掲載

 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
 <!-- Put site-specific property overrides in this file. -->
 
 <configuration>
   <property>
     <name>dfs.replication</name>
     <value>1</value>
   </property>
 </configuration>


***mapred-site.xml [#rc356380]

デフォルトで配置されているファイルはほぼ空なので、編集後のファイルの内容をそのまま掲載

 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
 <!-- Put site-specific property overrides in this file. -->
 
 <configuration>
   <property>
     <name>mapred.job.tracker</name>
     <value>10.68.225.115:8021</value>
   </property>
 </configuration>


**hdfsのフォーマット [#x58d7482]

設定が完了したら、hdfsをフォーマットします。

 /{HADOOP_HOME}/bin/hadoop namenode -format


**Hadoopの起動、停止、WEB管理ツール [#ief4ecc1]

起動、停止は以下のコマンドからできます。
:起動|/{HADOOP_HOME}/bin/start-all.sh
:停止|/{HADOOP_HOME}/bin/stop-all.sh

正常に起動した場合、以下のURLよりWEB管理ツールにアクセスできるはずです。

:NameNode|http://localhost:50070/
:JobTracker|http://localhost:50030/

**動作確認 [#kd82eefe]

以下のコマンドを実行すると、hadoopに最初から入っているπを計算するサンプルプログラムを動作させることが出来ます。

 cd /{HADOOP_HOME}
 bin/hadoop jar hadoop-0.20.2-examples.jar pi 10 100000

以下のような出力が出れば成功!

 Number of Maps  = 10
 Samples per Map = 100000
 Wrote input for Map #0
 Wrote input for Map #1
 Wrote input for Map #2
 Wrote input for Map #3
 Wrote input for Map #4
 Wrote input for Map #5
 Wrote input for Map #6
 Wrote input for Map #7
 Wrote input for Map #8
 Wrote input for Map #9
 Starting Job
 10/12/03 11:44:17 INFO mapred.FileInputFormat: Total input paths to process : 10
 10/12/03 11:44:17 INFO mapred.JobClient: Running job: job_201012031126_0001
 10/12/03 11:44:18 INFO mapred.JobClient:  map 0% reduce 0%
 10/12/03 11:44:25 INFO mapred.JobClient:  map 20% reduce 0%
 10/12/03 11:44:28 INFO mapred.JobClient:  map 40% reduce 0%
 10/12/03 11:44:31 INFO mapred.JobClient:  map 60% reduce 0%
 10/12/03 11:44:35 INFO mapred.JobClient:  map 80% reduce 13%
 10/12/03 11:44:38 INFO mapred.JobClient:  map 100% reduce 13%
 10/12/03 11:44:47 INFO mapred.JobClient:  map 100% reduce 100%
 10/12/03 11:44:49 INFO mapred.JobClient: Job complete: job_201012031126_0001
 10/12/03 11:44:49 INFO mapred.JobClient: Counters: 18
 10/12/03 11:44:49 INFO mapred.JobClient:   Job Counters 
 10/12/03 11:44:49 INFO mapred.JobClient:     Launched reduce tasks=1
 10/12/03 11:44:49 INFO mapred.JobClient:     Launched map tasks=10
 10/12/03 11:44:49 INFO mapred.JobClient:     Data-local map tasks=10
 10/12/03 11:44:49 INFO mapred.JobClient:   FileSystemCounters
 10/12/03 11:44:49 INFO mapred.JobClient:     FILE_BYTES_READ=226
 10/12/03 11:44:49 INFO mapred.JobClient:     HDFS_BYTES_READ=1180
 10/12/03 11:44:49 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=826
 10/12/03 11:44:49 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=215
 10/12/03 11:44:49 INFO mapred.JobClient:   Map-Reduce Framework
 10/12/03 11:44:49 INFO mapred.JobClient:     Reduce input groups=20
 10/12/03 11:44:49 INFO mapred.JobClient:     Combine output records=0
 10/12/03 11:44:49 INFO mapred.JobClient:     Map input records=10
 10/12/03 11:44:49 INFO mapred.JobClient:     Reduce shuffle bytes=280
 10/12/03 11:44:49 INFO mapred.JobClient:     Reduce output records=0
 10/12/03 11:44:49 INFO mapred.JobClient:     Spilled Records=40
 10/12/03 11:44:49 INFO mapred.JobClient:     Map output bytes=180
 10/12/03 11:44:49 INFO mapred.JobClient:     Map input bytes=240
 10/12/03 11:44:49 INFO mapred.JobClient:     Combine input records=0
 10/12/03 11:44:49 INFO mapred.JobClient:     Map output records=20
 10/12/03 11:44:49 INFO mapred.JobClient:     Reduce input records=20
 Job Finished in 31.708 seconds
 Estimated value of Pi is 3.14155200000000000000

あと、jobtrackerでもジョブの実行状態が見えるはずです。

:JobTracker|http://localhost:50030/

&ref(WS000001.PNG);

&ref(WS000002.PNG);


*リンク [#lb09c450]

参考にしたサイトは以下の通り。
-http://metasearch.sourceforge.jp/wiki/index.php?Hadoop%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7
-http://codezine.jp/article/detail/2485
-http://d.hatena.ne.jp/suu-g/20100508/1273323020
-http://infra-engineer.com/hadoop/hadoop%E8%B1%A1%E6%9C%AC%E7%AC%AC2%E7%89%88-9%E7%AB%A0-%E3%80%8Chadoop%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E6%A7%8B%E7%AF%89%E3%80%8D%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/
-http://oss.infoscience.co.jp/hadoop/common/docs/current/cluster_setup.html