バージョンは全て共通でCentOS5.5
ノード1:hdp01(GNOMEデスクトップ)
ノード2:hdp02(Server)
ノード3:hdp03(Server)
ノード4:hdp04(Server)
()内はインストール時に選択したインストールグループ
*全てSolaris10上のVirtualBox上に構築された仮想環境です。
インストール後に、全てのノードで、開発ツールとライブラリをインストールした。
# yum -y groupinstall Development*
まずhdp01にスタンドアロンモードのHadoopを構築してみる。
教科書はこちら。このHadoop特集は構造の解説から、実際の立ち上げまでをわかりやすく網羅しており、非常に役立ちます。
(1)java環境のインストール
Hadoopの実行に必要なものはJavaのみです。推奨はSun Javaという事なので、インストールしておきます。
http://java.sun.com/javase/ja/6/download.html
(2)Hadoopユーザの作成
# useradd hadoop
# passwd hadoop
インストール後、hadoopユーザでログインしなおし、環境変数のパスとJAVA_HOMEをSun Javaに設定しておきます。
Hadoopの実行に必要なものはJavaのみです。推奨はSun Javaという事なので、インストールしておきます。
http://java.sun.com/javase/ja/6/download.html
(2)Hadoopユーザの作成
# useradd hadoop
# passwd hadoop
インストール後、hadoopユーザでログインしなおし、環境変数のパスとJAVA_HOMEをSun Javaに設定しておきます。
-----------------------
PATH=/usr/java/default/bin:$PATH
JAVA_HOME=/usr/java/default
export PATH JAVA_HOME
-----------------------
PATH=/usr/java/default/bin:$PATH
JAVA_HOME=/usr/java/default
export PATH JAVA_HOME
-----------------------
[hadoop@hdp01 ~]$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
(3)sshキーの作成
Hadoopはノート間の通信にログイン認証無しのsshを必要とするので、事前にキーを作成しておく。
[hadoop@hdp01 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
Generating public/private dsa key pair.
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_dsa.
Your public key has been saved in /home/hadoop/.ssh/id_dsa.pub.
The key fingerprint is:
59:e6:64:eb:c9:ef:4f:b4:01:89:8a:19:fc:48:a2:af hadoop@hdp01
[hadoop@hdp01 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[hadoop@hdp01 ~]$ chmod 700 ~/.ssh
[hadoop@hdp01 ~]$ chmod 611 ~/.ssh/authorized_keys
[hadoop@hdp01 ~]$ chmod 600 ~/.ssh/id_dsa
(4)Hadoopのインストール
取ってきて展開するだけ。
[hadoop@hdp01 ~]$ wget http://www.meisei-u.ac.jp/mirror/apache/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
[hadoop@hdp01 ~]$ pwd
/home/hadoop
[hadoop@hdp01 ~]$ tar zxvf hadoop-0.20.2.tar.gz
[hadoop@hdp01 ~]$ ll
合計 43584
drwxr-xr-x 12 hadoop hadoop 4096 2月 19 17:10 hadoop-0.20.2
-rw-rw-r-- 1 hadoop hadoop 44575568 2月 19 17:28 hadoop-0.20.2.tar.gz
取ってきて展開するだけ。
[hadoop@hdp01 ~]$ wget http://www.meisei-u.ac.jp/mirror/apache/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
[hadoop@hdp01 ~]$ pwd
/home/hadoop
[hadoop@hdp01 ~]$ tar zxvf hadoop-0.20.2.tar.gz
[hadoop@hdp01 ~]$ ll
合計 43584
drwxr-xr-x 12 hadoop hadoop 4096 2月 19 17:10 hadoop-0.20.2
-rw-rw-r-- 1 hadoop hadoop 44575568 2月 19 17:28 hadoop-0.20.2.tar.gz
起動用ファイルにJAVAの環境変数を書いてやる。
[hadoop@hdp01 ~]$ vi hadoop-0.20.2/conf/hadoop-env.sh
# The java implementation to use. Required.
export JAVA_HOME=/usr/java/default
(5)サンプルプログラムの実行
[hadoop@hdp01 ~]$ hadoop-0.20.2/bin/hadoop jar hadoop-0.20.2/hadoop-0.20.2-examples.jar pi 1 1000
Number of Maps = 1
Samples per Map = 1000
Wrote input for Map #0
Starting Job
10/07/23 22:31:34 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/07/23 22:31:34 INFO mapred.FileInputFormat: Total input paths to process : 1
10/07/23 22:31:34 INFO mapred.JobClient: Running job: job_local_0001
10/07/23 22:31:34 INFO mapred.FileInputFormat: Total input paths to process : 1
10/07/23 22:31:35 INFO mapred.MapTask: numReduceTasks: 1
10/07/23 22:31:35 INFO mapred.MapTask: io.sort.mb = 100
10/07/23 22:31:35 INFO mapred.MapTask: data buffer = 79691776/99614720
10/07/23 22:31:35 INFO mapred.MapTask: record buffer = 262144/327680
10/07/23 22:31:35 INFO mapred.MapTask: Starting flush of map output
10/07/23 22:31:35 INFO mapred.MapTask: Finished spill 0
10/07/23 22:31:35 INFO mapred.TaskRunner: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting
10/07/23 22:31:35 INFO mapred.LocalJobRunner: Generated 1000 samples.
10/07/23 22:31:35 INFO mapred.TaskRunner: Task 'attempt_local_0001_m_000000_0' done.
10/07/23 22:31:35 INFO mapred.LocalJobRunner:
10/07/23 22:31:35 INFO mapred.Merger: Merging 1 sorted segments
10/07/23 22:31:35 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 24 bytes
10/07/23 22:31:35 INFO mapred.LocalJobRunner:
10/07/23 22:31:35 INFO mapred.TaskRunner: Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting
10/07/23 22:31:35 INFO mapred.LocalJobRunner:
10/07/23 22:31:35 INFO mapred.TaskRunner: Task attempt_local_0001_r_000000_0 is allowed to commit now
10/07/23 22:31:35 INFO mapred.FileOutputCommitter: Saved output of task 'attempt_local_0001_r_000000_0' to file:/home/hadoop/PiEstimator_TMP_3_141592654/out
10/07/23 22:31:35 INFO mapred.LocalJobRunner: reduce > reduce
10/07/23 22:31:35 INFO mapred.TaskRunner: Task 'attempt_local_0001_r_000000_0' done.
10/07/23 22:31:35 INFO mapred.JobClient: map 100% reduce 100%
10/07/23 22:31:35 INFO mapred.JobClient: Job complete: job_local_0001
10/07/23 22:31:35 INFO mapred.JobClient: Counters: 13
10/07/23 22:31:35 INFO mapred.JobClient: FileSystemCounters
10/07/23 22:31:35 INFO mapred.JobClient: FILE_BYTES_READ=311962
10/07/23 22:31:35 INFO mapred.JobClient: FILE_BYTES_WRITTEN=341823
10/07/23 22:31:35 INFO mapred.JobClient: Map-Reduce Framework
10/07/23 22:31:35 INFO mapred.JobClient: Reduce input groups=2
10/07/23 22:31:35 INFO mapred.JobClient: Combine output records=0
10/07/23 22:31:35 INFO mapred.JobClient: Map input records=1
10/07/23 22:31:35 INFO mapred.JobClient: Reduce shuffle bytes=0
10/07/23 22:31:35 INFO mapred.JobClient: Reduce output records=0
10/07/23 22:31:35 INFO mapred.JobClient: Spilled Records=4
10/07/23 22:31:35 INFO mapred.JobClient: Map output bytes=18
10/07/23 22:31:35 INFO mapred.JobClient: Map input bytes=24
10/07/23 22:31:35 INFO mapred.JobClient: Combine input records=0
10/07/23 22:31:35 INFO mapred.JobClient: Map output records=2
10/07/23 22:31:35 INFO mapred.JobClient: Reduce input records=2
Job Finished in 1.543 seconds
Estimated value of Pi is 3.14800000000000000000
なんかよくわからないけど動いたからOKらしい。
----------------------------------------
追記、Solarisのzoneでも問題なく動いた(javaだから当たり前か・・・
0 件のコメント:
コメントを投稿