Mahout-environment

提供:Dev Guides
移動先:案内検索

Mahout-環境

この章では、mahoutのセットアップ方法を説明します。 JavaとHadoopは、mahoutの前提条件です。 以下に、Java、Hadoop、およびMahoutをダウンロードしてインストールする手順を示します。

インストール前のセットアップ

Linux環境にHadoopをインストールする前に、 ssh (Secure Shell)を使用してLinuxをセットアップする必要があります。 Linux環境をセットアップするには、以下の手順に従ってください。

ユーザーを作成する

Hadoopの別のユーザーを作成して、HadoopファイルシステムをUnixファイルシステムから分離することをお勧めします。 以下の手順に従って、ユーザーを作成します。

  • コマンド「su」を使用してルートを開きます。
  • *“ useradd username” *コマンドを使用して、rootアカウントからユーザーを作成します。
  • これで、*“ su username” *コマンドを使用して既存のユーザーアカウントを開くことができます。
  • Linuxターミナルを開き、次のコマンドを入力してユーザーを作成します。
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

SSHセットアップとキー生成

SSHのセットアップは、デーモンシェル操作の開始、停止、分散など、クラスターでさまざまな操作を実行するために必要です。 Hadoopのさまざまなユーザーを認証するには、Hadoopユーザーに公開/秘密キーペアを提供し、それをさまざまなユーザーと共有する必要があります。

次のコマンドを使用して、SSHを使用してキーと値のペアを生成し、id_rsa.pubから公開キーをauthorized_keysにコピーし、authorized_keysファイルにそれぞれ所有者、読み取り、書き込み権限を付与します。

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

sshの検証

ssh localhost

Javaのインストール

Javaは、HadoopとHBaseの主要な前提条件です。 まず、「java -version」を使用してシステム内のJavaの存在を確認する必要があります。 Javaバージョンコマンドの構文は次のとおりです。

$ java -version

次の出力が生成されます。

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

システムにJavaがインストールされていない場合は、Javaをインストールするための以下の手順に従ってください。

ステップ1

次のリンクにアクセスして、Java(JDK <最新バージョン>-X64.tar.gz)をダウンロードします。http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-windows-x64 .exe [Oracle]

次に、* jdk-7u71-linux-x64.tar.gzがシステムにダウンロードされます*。

ステップ2

通常、ダウンロードしたJavaファイルは、ダウンロードフォルダーにあります。 それを確認し、次のコマンドを使用して jdk-7u71-linux-x64.gz ファイルを抽出します。

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
  • ステップ3 *

すべてのユーザーがJavaを使用できるようにするには、Javaを「/usr/local/」の場所に移動する必要があります。 ルートを開き、次のコマンドを入力します。

$ su
password:
# mv jdk1.7.0_71/usr/local/
# exit
  • ステップ4 *
*PATH* および *JAVA_HOME* 変数を設定するには、次のコマンドを*〜/.bashrc file *に追加します。
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin

次に、上記で説明したように、ターミナルから java -version コマンドを確認します。

Hadoopをダウンロードする

Javaをインストールしたら、最初にHadoopをインストールする必要があります。 以下に示すように、「Hadoopバージョン」コマンドを使用して、Hadoopの存在を確認します。

hadoop version

次の出力が生成されます。

Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using/home/hadoop/hadoop/share/hadoop/common/hadoopcommon-2.6.0.jar

システムがHadoopを見つけられない場合は、Hadoopをダウンロードしてシステムにインストールします。 以下のコマンドに従ってください。

次のコマンドを使用して、Apache Software Foundationからhadoop-2.6.0をダウンロードして抽出します。

$ su
password:
# cd/usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit

Hadoopのインストール

必要なモードのいずれかでHadoopをインストールします。 ここでは、疑似分散モードでHBaseの機能を実証しているため、Hadoopを疑似分散モードでインストールします。

以下の手順に従って、 Hadoop 2.4.1 をシステムにインストールします。

ステップ1:Hadoopのセットアップ

次のコマンドを*〜/.bashrc *ファイルに追加することにより、Hadoop環境変数を設定できます。

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

次に、現在実行中のシステムにすべての変更を適用します。

$ source ~/.bashrc

ステップ2:Hadoopの構成

すべてのHadoop構成ファイルは、「$ HADOOP_HOME/etc/hadoop」の場所にあります。 Hadoopインフラストラクチャに応じて、これらの構成ファイルを変更する必要があります。

$ cd $HADOOP_HOME/etc/hadoop

JavaでHadoopプログラムを開発するには、 JAVA_HOME 値をシステム内のJavaの場所に置き換えて、 hadoop-env.sh ファイルのJava環境変数をリセットする必要があります。

export JAVA_HOME=/usr/local/jdk1.7.0_71

以下は、Hadoopを構成するために編集する必要があるファイルのリストです。

*core-site.xml*
*core-site.xml* ファイルには、Hadoopインスタンスに使用されるポート番号、ファイルシステムに割り当てられたメモリ、データを保存するためのメモリ制限、読み取り/書き込みバッファのサイズなどの情報が含まれています。

core-site.xmlを開き、<configuration>タグと</configuration>タグの間に次のプロパティを追加します。

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000&lt/value>
   </property>
</configuration>
*hdfs-site.xm*
*hdfs-site.xml* ファイルには、ローカルファイルシステムのレプリケーションデータ、ネームノードパス、データノードパスの値などの情報が含まれています。 これは、Hadoopインフラストラクチャを保存する場所を意味します。

次のデータを想定します。

dfs.replication (data replication value) = 1

(In the below given path/hadoop/is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path =//home/hadoop/hadoopinfra/hdfs/namenode

(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path =//home/hadoop/hadoopinfra/hdfs/datanode

このファイルを開き、このファイルの<configuration>タグと</configuration>タグの間に次のプロパティを追加します。

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>

   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
   </property>

   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
   </property>
</configuration>
  • 注意:*上記のファイルでは、すべてのプロパティ値はユーザー定義です。 Hadoopインフラストラクチャに応じて変更できます。
*mapred-site.xml*

このファイルは、Hadoopに糸を設定するために使用されます。 mapred-site.xmlファイルを開き、このファイルの<configuration>タグと</configuration>タグの間に次のプロパティを追加します。

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>
*mapred-site.xml*

このファイルは、使用しているMapReduceフレームワークを指定するために使用されます。 デフォルトでは、Hadoopにはmapred-site.xmlのテンプレートが含まれています。 まず、次のコマンドを使用して、 mapred-site.xml.template から mapred-site.xml ファイルにファイルをコピーする必要があります。

$ cp mapred-site.xml.template mapred-site.xml
*mapred-site.xml* ファイルを開き、このファイルの<configuration>タグと</configuration>タグの間に次のプロパティを追加します。
<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

Hadoopインストールの検証

次の手順を使用して、Hadoopのインストールを確認します。

ステップ1:ノードのセットアップに名前を付ける

次のようにコマンド「hdfs namenode -format」を使用して、namenodeをセットアップします。

$ cd ~
$ hdfs namenode -format

予想される結果は次のとおりです。

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain
1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/

ステップ2:Hadoop dfの検証

次のコマンドは、dfsを開始するために使用されます。 このコマンドは、Hadoopファイルシステムを起動します。

$ start-dfs.sh

予想される出力は次のとおりです。

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to/home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to/home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

ステップ3:糸スクリプトの検証

次のコマンドを使用して、糸スクリプトを開始します。 このコマンドを実行すると、ヤーンデーモンが起動します。

$ start-yarn.sh

予想される出力は次のとおりです。

starting yarn daemons
starting resource manager, logging to/home/hadoop/hadoop-2.4.1/logs/yarn-
hadoop-resourcemanager-localhost.out
localhost: starting node manager, logging to/home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

ステップ4:ブラウザーでHadoopにアクセスする

hadoopにアクセスするためのデフォルトのポート番号は50070です。 次のURLを使用して、ブラウザーでHadoopサービスを取得します。

http://localhost:50070/

Hadoopへのアクセス

ステップ5:クラスターのすべてのアプリケーションを確認する

クラスターのすべてのアプリケーションにアクセスするためのデフォルトのポート番号は8088です。 このサービスにアクセスするには、次のURLを使用してください。

http://localhost:8088/

クラスターのアプリケーション

Mahoutのダウンロード

Mahoutは、Webサイトhttp://mahout.apache.org/.[Mahout]で入手できます。 WebサイトにあるリンクからMahoutをダウンロードします。 これがウェブサイトのスクリーンショットです。

Mahoutのダウンロード

ステップ1

次のコマンドを使用して、リンクhttp://mirror.nexcess.net/apache/mahout/からApache mahoutをダウンロードします。

[Hadoop@localhost ~]$ wget
http://mirror.nexcess.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz

次に、 mahout-distribution-0.9.tar.gz がシステムにダウンロードされます。

ステップ2

*mahout-distribution-0.9.tar.gz* が保存されているフォルダーを参照し、以下に示すようにダウンロードしたjarファイルを抽出します。
[Hadoop@localhost ~]$ tar zxvf mahout-distribution-0.9.tar.gz

Mavenリポジトリ

以下に、Eclipseを使用してApache Mahoutを構築するためのpom.xmlを示します。

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-core</artifactId>
   <version>0.9</version>
</dependency>

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-math</artifactId>
   <version>${mahout.version}</version>
</dependency>

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-integration</artifactId>
   <version>${mahout.version}</version>
</dependency>