今日はHadoopのインストールして実行環境を作ってみましょう。
私のマシンはCentOS6.4ですが、Linux系でしたらほとんど共通していますので参考にしてください。
HadoopはJAVAで記述されていて、動かすにはJAVAのバージョン1.6以降が必要となります。Hadoopコミュニティは、JDKの利用を推奨しています。
【ということで、まずはJDKのインストール】
まぁ、デフォでJDK1.7xxが入っていましたが、せっかくなので最新版を入れてみました。
まずはJAVA SEのDOWNLOADSページ(http://www.oracle.com/technetwork/java/javase/downloads/index.html)にアクセスして、Java SE xxのダウンロードページに進んでください。(2013年9月1日時点での最新版はJava SE 7u25)
次に、Accept License Agreementを選択してから該当のマシンにあったファイルをクリックしてください。
私の場合はCentOS6.4の64bitでしたので、jdk-7u25-linux-x64.tar.gzを選択しました。
ちなみに、自分のマシンが32bitか64bitか分からない方は、CPUの情報とカーネルの情報から判断してください。
# cat /proc/cpuinfo
→flagsの値にlmがあれば、64bitCPUです。
# uname -a
→X86_64などと表示されれば64bitCPUです。
ここではtarファイルをダウンロードした場合の説明をします。インストールというか、実行ファイルを任意のディレクトリに展開して、PATHを通すだけです。
まず、適当なディレクトリにファイルを置いて、tarコマンドで展開します。
# tar xvzf jdk-7u25-linux-x64.tar.gz
私はそのファイルを/usr/local/に配置しました。
# mv jdk-7u25-linux-x64.tar.gz /usr/local
以下のコマンドでバージョン情報が正しく表示されればOKです。
# /usr/local/jdk1.7.0_25/bin/java -version
java version “1.7.0_25″
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
以上でJDKのインストールは終了です。あとはPATHを通す必要がありますが、Hadoopをインストールした後にも同様にPATHを通しますので、最後にまとめてやりましょう。
【Apache Hadoopのインストール】
さて、本題です。まずはHadoopを実行するためのユーザを管理するために、hadoopというアカウントを作っておきましょう。
# useradd hadoop
# passwd hadoop
# su - hadoop
準備ができたら、Apache Hadoopのプロジェクトサイト(http://www.apache.org/dyn/closer.cgi/hadoop/common/)から、Hadoopをダウンロードします。
好きなmirrorサイトから選んでください。(2013年9月1日時点での最新版はhadoop-1.2.1.tar.gz)
こちらも適当なディレクトリに置き、解凍後、任意のパスに配置してください。私は先ほどと同じ/usr/local以下に配置しました。
$ tar xvzf hadoop-1.2.1.tar.gz
$ mv hadoop-1.2.1.tar.gz /usr/local
配置したディレクトリ以下の所有者をhadoopユーザにしておきます。
$ chown hadoop:hadoop -R /usr/local/hadoop-1.2.1
【JDKとHadoopにPATHを通す】
最後に、JDKとHadoopを配置したディレクトリにPATHを通しておきましょう。PATHはbashが起動時読み込むファイルに記述します。これはOSごとに微妙に違いますので、自分の環境に合わせて記述してください。CentOSの場合は、以下のファイルなどを開いて、どこにPATHをエクスポートすればいいか参照してみましょう。
$ less ~/.bashrc
$ less ~/.bash_profile
CentOS6.4では、~/.bash_profileに記載しました。PATHを通すのは、先ほど配置したディレクトリの「/bin」です。
export JAVA_HOME=/usr/local/jdk1.7.0_25
export HADOOP_INSTALL=/usr/local/hadoop-1.2.1
export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH
【無事にインストールされたか確認】
$ echo $PATH
/usr/local/hadoop-1.2.1/bin:/usr/local/jdk1.7.0_25/bin:/…..
$ which java
/usr/local/jdk1.7.0_25/bin/java
$ java -version
java version “1.7.0_25″
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
$ hadoop version
Hadoop 1.2.1
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013
From source with checksum 6923c86528809c4e7e6f493b6b413a9a
This command was run using /usr/local/hadoop-1.2.1/hadoop-core-1.2.1.jar
以上で、Hadoopのインストールは終了です。簡単でしたね。ちなみにコマンドは次のように使用します。
$ hadoop [コマンド] [共通オプション] [コマンドオプション]
オプションは他にもたくさんあります。引数なしでコマンドを実行すると、説明が表示されるので参照してください。
$ hadoop
$ hadoop fs
$ hadoop job
これでHadoopの実行環境が構築できました。ちなみに、Hadoopには以下のモードがあります。
- スタンドアロンモード
- 擬似分散モード
- 完全分散モード
今日は1台にインストールしたので、スタンドアロンモードと擬似分散モードを試すことができるようになりました。
完全分散モードは少なくとも2台以上のサーバが必要となります。
それぞれのモードが実際に動作するところも、今後一緒に確認していきましょう。
引用・参考文献:Hadoopファーストガイド 佐々木達也 日経印刷株式会社 2012年10月1日第1版第1刷