前提条件

このチュートリアルの唯一の前提条件は、 Ubuntu 13.10×64がインストールされたVPSです。

コマンドラインからコマンドを実行する必要があります。これは、次の2つの方法のいずれかで実行できます。

  1. SSHを使用してドロップレットにアクセスします。

  2. Digital Ocean DropletManagementPanelの「ConsoleAccess」を使用する

Hadoopとは何ですか?

Hadoop は、サーバーのクラスター全体に分散されたデータセットの処理を簡素化するフレームワーク(ソフトウェアライブラリで構成される)です。 Hadoopの主要コンポーネントの2つは、HDFSMapReduceです。

HDFSは、Hadoopがすべてのデータを保存するために使用するファイルシステムです。 このファイルシステムは、Hadoopによって使用されているすべてのノードにまたがっています。 これらのノードは、単一のVPS上にある場合もあれば、多数の仮想サーバーに分散している場合もあります。

MapReduceは、Hadoopのすべてのアクティビティを調整するフレームワークです。 クラスタ内のさまざまなノードへの作業の割り当てを処理します。

Hadoopを使用する利点

Hadoopのアーキテクチャにより、必要に応じてハードウェアを拡張できます。 データ形式の変更やファイルシステム上にあるアプリケーションの処理を気にすることなく、新しいノードを段階的に追加できます。

Hadoopの最も重要な機能の1つは、安価なコモディティサーバーを高価なコモディティサーバーに置き換えることで、莫大な金額を節約できることです。 これが可能なのは、Hadoopがフォールトトレランスの責任をハードウェア層からアプリケーション層に移すためです。

Hadoopのインストール

Hadoopのインストールと起動、実行は非常に簡単です。 ただし、このプロセスでは複数の構成ファイルとセットアップファイルを編集する必要があるため、各手順が適切に実行されていることを確認してください。

1. Javaをインストールする

HadoopではJavaをインストールする必要があるため、Javaのインストールから始めましょう。

apt-get update
apt-get install default-jdk

これらのコマンドは、VPSのパッケージ情報を更新してから、Javaをインストールします。 これらのコマンドを実行した後、次のコマンドを実行して、Javaがインストールされていることを確認します。

java -version

Javaがインストールされている場合は、次の図に示すようにバージョンの詳細が表示されます。

2. SSH証明書の作成と設定

HadoopはSSHを使用して(ノードにアクセスするため)、通常はユーザーがパスワードを入力する必要があります。 ただし、次のコマンドを使用してSSH証明書を作成および設定することにより、この要件を排除できます。

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

これら2つのコマンドの最初のコマンドを実行した後、ファイル名の入力を求められる場合があります。 空白のままにして、Enterキーを押して続行します。 2番目のコマンドは、新しく作成されたキーを許可されたキーのリストに追加して、Hadoopがパスワードの入力を求めずにSSHを使用できるようにします。

3. Hadoopをフェッチしてインストールする

まず、次のコマンドを使用して、ミラーの1つからHadoopをフェッチしましょう。

wget http://www.motorlogy.com/apache/hadoop/common/current/hadoop-2.3.0.tar.gz

ノート: このコマンドは、HadoopWebサイトにリストされているミラーの1つにあるダウンロードリンクを使用します。 ミラーのリストは、このリンクにあります。 必要に応じて、他のミラーを選択できます。 最新の安定バージョンをダウンロードするには、選択したミラーのcurrentまたはcurrent2ディレクトリからhadoop-XYZtar.gzファイルを選択します。

Hadoopパッケージをダウンロードした後、次のコマンドを実行して解凍します。

tar xfz hadoop-2.3.0.tar.gz

このコマンドは、hadoop-2.3.0という名前のディレクトリにあるこのパッケージ内のすべてのファイルを抽出します。 このチュートリアルでは、次のコマンドを使用して、Hadoopインストールを/usr/local/hadoopディレクトリに移動します。

mv hadoop-2.3.0 /usr/local/hadoop 

ノート: 抽出されたフォルダーの名前は、ダウンロードして抽出したHadoopのバージョンによって異なります。 ご使用のバージョンがこのチュートリアルで使用されているものと異なる場合は、それに応じて上記のコマンドを変更してください。

4. 構成ファイルの編集とセットアップ

Hadoopのセットアップを完了するには、次のファイルを変更する必要があります。

  • 〜/ .bashrc
  • /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  • /usr/local/hadoop/etc/hadoop/core-site.xml
  • /usr/local/hadoop/etc/hadoop/yarn-site.xml
  • /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
  • /usr/local/hadoop/etc/hadoop/hdfs-site.xml

私。 〜/.bashrcの編集

ホームディレクトリの.bashrcファイルを編集する前に、Javaがインストールされているパスを見つけてJAVA_HOME環境変数を設定する必要があります。 次のコマンドを使用してそれを行いましょう。

update-alternatives --config java

これにより、次のように表示されます。

このコマンドで表示される完全なパスは次のとおりです。

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

JAVA_HOMEの値は、上記のパスの/jre/bin/javaの前のすべてです。この場合、/usr/lib/jvm/java-7-openjdk-amd64です。 このステップと他の1つのステップでこの値を使用するので、これをメモしてください。

次に、nano(またはお好みのエディター)を使用して、次のコマンドを使用して〜/.bashrcを編集します。

nano ~/.bashrc

これにより、.bashrcファイルがテキストエディタで開きます。 ファイルの最後に移動し、次のコンテンツを貼り付け/入力します。

#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

注1: VPSでJAVA_HOMEの値が異なる場合は、それに応じて上記のコンテンツの最初のexportステートメントを変更してください。

注2:注2: nanoを使用して開いて編集したファイルは、Ctrl + Xを使用して保存できます。 変更を保存するプロンプトが表示されたら、Yと入力します。 ファイル名の入力を求められた場合は、Enterキーを押すだけです。

.bashrcファイルの終わりは次のようになります。

.bashrcファイルを保存して閉じた後、次のコマンドを実行して、システムが新しく作成された環境変数を認識できるようにします。

source ~/.bashrc

上記のコンテンツを.bashrcファイルに入れると、VPSの起動時にこれらの変数を常に使用できるようになります。

ii。 /usr/local/hadoop/etc/hadoop/hadoop-env.shを編集する

次のコマンドを使用して、nanoで/usr/local/hadoop/etc/hadoop/hadoop-env.shファイルを開きます。

nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

このファイルで、JAVA_HOME変数をエクスポートする行を見つけます。 この行を次のように変更します。

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

ノート: JAVA_HOMEの値がVPSで異なる場合は、それに応じてこの行を変更してください。

hadoop-env.shファイルは次のようになります。

このファイルを保存して閉じます。 上記のステートメントをhadoop-env.shファイルに追加すると、Hadoopが起動するたびにJAVA_HOME変数の値を使用できるようになります。

iii。 /usr/local/hadoop/etc/hadoop/core-site.xmlを編集する

/usr/local/hadoop/etc/hadoop/core-site.xmlファイルには、Hadoopが起動時に使用する構成プロパティが含まれています。 このファイルを使用して、Hadoopが開始するデフォルト設定をオーバーライドできます。

次のコマンドを使用して、nanoでこのファイルを開きます。

nano /usr/local/hadoop/etc/hadoop/core-site.xml

このファイルで、<configuration></configuration>タグの間に次の内容を入力します。

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

core-site.xmlファイルは次のようになります。

このファイルを保存して閉じます。

iv。 /usr/local/hadoop/etc/hadoop/yarn-site.xmlを編集する

/usr/local/hadoop/etc/hadoop/yarn-site.xmlファイルには、MapReduceが起動時に使用する構成プロパティが含まれています。 このファイルを使用して、MapReduceが開始するデフォルト設定を上書きできます。

次のコマンドを使用して、nanoでこのファイルを開きます。

nano /usr/local/hadoop/etc/hadoop/yarn-site.xml

このファイルで、<configuration></configuration>タグの間に次の内容を入力します。

<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

yarn-site.xmlファイルは次のようになります。

このファイルを保存して閉じます。

v。 /usr/local/hadoop/etc/hadoop/mapred-site.xmlの作成と編集

デフォルトでは、/usr/local/hadoop/etc/hadoop/フォルダーには/usr/local/hadoop/etc/hadoop/mapred-site.xml.templateファイルが含まれており、mapred-site.xmlという名前で名前を変更/コピーする必要があります。 このファイルは、MapReduceに使用されているフレームワークを指定するために使用されます。

これは、次のコマンドを使用して実行できます。

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

これが完了したら、次のコマンドを使用して、nanoで新しく作成されたファイルを開きます。

nano /usr/local/hadoop/etc/hadoop/mapred-site.xml

このファイルで、<configuration></configuration>タグの間に次の内容を入力します。

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

mapred-site.xmlファイルは次のようになります。

このファイルを保存して閉じます。

vi。 /usr/local/hadoop/etc/hadoop/hdfs-site.xmlを編集する

/usr/local/hadoop/etc/hadoop/hdfs-site.xmlは、使用されているクラスター内のホストごとに構成する必要があります。 そのホストでnamenodeおよびdatanodeとして使用されるディレクトリを指定するために使用されます。

このファイルを編集する前に、このHadoopインストール用のnamenodedatanodeを含む2つのディレクトリを作成する必要があります。 これは、次のコマンドを使用して実行できます。

mkdir -p /usr/local/hadoop_store/hdfs/namenode
mkdir -p /usr/local/hadoop_store/hdfs/datanode

ノート: これらのディレクトリは別の場所に作成できますが、それに応じてhdfs-site.xmlの内容を変更してください。

これが完了したら、次のコマンドを使用して、nanoで/usr/local/hadoop/etc/hadoop/hdfs-site.xmlファイルを開きます。

nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

このファイルで、<configuration></configuration>タグの間に次の内容を入力します。

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>
 </property>

hdfs-site.xmlファイルは次のようになります。

このファイルを保存して閉じます。

新しいHadoopファイルシステムをフォーマットする

上記の手順で概説したすべての構成を完了したら、Hadoopファイルシステムをフォーマットして使用を開始できるようにする必要があります。 これは、次のコマンドを実行することによって実行されます。

hdfs namenode -format

ノート: これは、Hadoopの使用を開始する前に1回だけ実行する必要があります。 Hadoopの使用後にこのコマンドを再度実行すると、Hadoopファイルシステム上のすべてのデータが破棄されます。

Hadoopを開始します

あとは、新しくインストールしたシングルノードクラスターを起動するだけです。

start-dfs.sh

このコマンドを実行している間、次のようなメッセージが2回表示されます。

接続を続行してもよろしいですか(はい/いいえ)?

これらのプロンプトの両方にyesと入力し、Enterキーを押します。 これが完了したら、次のコマンドを実行します。

start-yarn.sh

上記の2つのコマンドを実行すると、Hadoopが起動して実行されます。 次のコマンドを入力して、これを確認できます。

jps

このコマンドを実行すると、次のようなものが表示されます。

上のスクリーンショットに示されているような結果が表示される場合は、VPSでHadoopの機能インスタンスが実行されていることを意味します。

次のステップ

Hadoopを使用するように設定されているアプリケーションがある場合は、それを起動して、新しいインストールで使用を開始できます。 一方、Hadoopをいじって探索しているだけの場合は、新しいファイルシステムにデータまたはファイルを追加/操作して、その感触をつかむことから始めることができます。

投稿者:http: //javascript.asia ”>ジェイ