CentOS 7にHadoopシングルノードクラスター(疑似ノード)をインストールする方法


Hadoopは、ビッグデータを処理するために広く使用されているオープンソースフレームワークです。 Bigdata/Data Analyticsプロジェクトのほとんどは、Hadoopエコシステムの上に構築されています。 2層で構成され、1つはデータの保存用で、もう1つはデータの処理用です。

ストレージはHDFS(Hadoop Distributed Filesystem)と呼ばれる独自のファイルシステムによって処理され、処理はYARN(Yet Another Resource Negotiator)によって処理されます。 Mapreduceは、Hadoopエコシステムのデフォルトの処理エンジンです。

この記事では、Hadoopの疑似ノードインストールをインストールするプロセスについて説明します。ここでは、すべてのデーモン(JVM)がCentOS7でシングルノードクラスターを実行します。

これは主に初心者がHadoopを学ぶためのものです。リアルタイムで、Hadoopはマルチノードクラスターとしてインストールされ、データはサーバー間でブロックとして分散され、ジョブは並列に実行されます。

このページで

1. Hadoopは、Javaで構成されたエコシステムです。 Hadoopをインストールするには、Javaをシステムに強制的にインストールする必要があります。

# yum install java-1.8.0-openjdk

2.次に、システムにインストールされているJavaのバージョンを確認します。

# java -version

マシンにsshを構成する必要があります。HadoopはSSHを使用してノードを管理します。マスターノードはSSH接続を使用してスレーブノードを接続し、開始や停止などの操作を実行します。

マスターがパスワードなしでsshを使用してスレーブと通信できるように、パスワードなしのsshを設定する必要があります。それ以外の場合は、接続の確立ごとに、パスワードを入力する必要があります。

この単一ノードでは、マスターサービス(Namenode、Secondary Namenode&Resource Manager)とスレーブサービス(Datanode&Nodemanager)が別々のJVMとして実行されます。単一ノードですが、マスターが認証なしでスレーブと通信できるようにするには、パスワードなしのsshが必要です。

3.サーバーで次のコマンドを使用して、パスワードなしのSSHログインを設定します。

# ssh-keygen
# ssh-copy-id -i localhost

4.パスワードなしのSSHログインを構成した後、再度ログインしてみてください。パスワードなしで接続されます。

# ssh localhost

5. Apache Hadoop Webサイトにアクセスし、次のwgetコマンドを使用してHadoopの安定版リリースをダウンロードします。

# wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
# tar xvpzf hadoop-2.10.1.tar.gz

6.次に、図のように、Hadoop環境変数を〜/ .bashrc ファイルに追加します。

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7.環境変数を〜/ .bashrc ファイルに追加した後、ファイルをソースし、次のコマンドを実行してHadoopを確認します。

# source ~/.bashrc
# cd $HADOOP_PREFIX
# bin/hadoop version

マシンに合わせるために、以下のHadoop構成ファイルを構成する必要があります。 Hadoopでは、各サービスに独自のポート番号とデータを格納するための独自のディレクトリがあります。

  • Hadoop Configuration Files – core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml

8.まず、図のように、hadoop-env.shファイルの JAVA_HOME とHadoopパスを更新する必要があります。

# cd $HADOOP_PREFIX/etc/hadoop
# vi hadoop-env.sh

ファイルの先頭に次の行を入力します。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9.次に、 core-site.xml ファイルを変更します。

# cd $HADOOP_PREFIX/etc/hadoop
# vi core-site.xml

図のように、 タグの間に次のように貼り付けます。

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

10. tecmint ユーザーホームディレクトリの下に以下のディレクトリを作成します。これは、NNおよびDNストレージに使用されます。

# mkdir -p /home/tecmint/hdata/
# mkdir -p /home/tecmint/hdata/data
# mkdir -p /home/tecmint/hdata/name

10.次に、 hdfs-site.xml ファイルを変更します。

# cd $HADOOP_PREFIX/etc/hadoop
# vi hdfs-site.xml

図のように、 タグの間に次のように貼り付けます。

<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/tecmint/hdata/name</value>
  </property>
  <property>
          <name>dfs .datanode.data.dir</name>
          <value>home/tecmint/hdata/data</value>
  </property>
</configuration>

11.ここでも、 mapred-site.xml ファイルを変更します。

# cd $HADOOP_PREFIX/etc/hadoop
# cp mapred-site.xml.template mapred-site.xml
# vi mapred-site.xml

図のように、 タグの間に次のように貼り付けます。

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

12.最後に、 yarn-site.xml ファイルを変更します。

# cd $HADOOP_PREFIX/etc/hadoop
# vi yarn-site.xml

図のように、 タグの間に次のように貼り付けます。

<configuration>
                <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
                </property>
</configuration>

13.クラスターを開始する前に、HadoopNNがインストールされているローカルシステムでフォーマットする必要があります。通常、クラスターを最初に開始する前の初期段階で実行されます。

NNをフォーマットすると、NNメタストア内のデータが失われるため、より注意する必要があります。意図的に必要とされない限り、クラスターの実行中にNNをフォーマットしないでください。

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. NameNodeデーモンとDataNodeデーモンを起動します:(ポート50070)。

# cd $HADOOP_PREFIX
# sbin/start-dfs.sh

15. ResourceManagerデーモンとNodeManagerデーモンを起動します:(ポート8088)。

# sbin/start-yarn.sh

16.すべてのサービスを停止します。

# sbin/stop-dfs.sh
# sbin/stop-dfs.sh

この記事では、Hadoop疑似ノード(シングルノード)クラスターをセットアップするためのステップバイステップのプロセスを実行しました。 Linuxの基本的な知識があり、次の手順に従うと、クラスターは40分で稼働します。

これは、初心者がHadoopの学習と実践を開始するのに非常に役立ちます。または、このバニラバージョンのHadoopを開発目的で使用できます。リアルタイムクラスターが必要な場合は、少なくとも3台の物理サーバーが必要であるか、複数のサーバーを持つようにクラウドをプロビジョニングする必要があります。