GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでHadoopマルチノードクラスターをセットアップする方法

このチュートリアルでは、Ubuntu16.04でマルチノードHadoopクラスターをセットアップする方法を学習します。複数のデータノードを持つHadoopクラスターはマルチノードのHadoopクラスターであるため、このチュートリアルの目標は2つのデータノードを稼働させることです。

1)前提条件

  • Ubuntu 16.04
  • Hadoop-2.7.3
  • Java 7
  • SSH

このチュートリアルでは、2つの ubuntu 16.04 があります システム、私はそれらをマスターと呼んでいます およびスレーブ システムでは、各システムで1つのデータノードが実行されます。

マスターのIPアドレス -> 192.168.1.37

スレーブのIPアドレス -> 192.168.1.38

マスターについて

マスターとスレーブのIPアドレスを使用してhostsファイルを編集します。

sudo gedit /etc/hosts

以下のようにファイルを編集します。ファイル内の他の行を削​​除できます。編集後、ファイルを保存して閉じます。

スレーブ上

マスターとスレーブのIPアドレスを使用してhostsファイルを編集します。

sudo gedit /etc/hosts

以下のようにファイルを編集します。ファイル内の他の行を削​​除できます。編集後、ファイルを保存して閉じます。

2)Javaのインストール

Hadoopを設定する前に、システムにJavaをインストールする必要があります。以下のコマンドを使用して、両方のubuntuマシンにopenJDK7をインストールします。

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
do apt-get install openjdk-7-jdk

以下のコマンドを実行して、Javaがシステムにインストールされているかどうかを確認します。

java -version

デフォルトでは、Javaは / usr / lib / jvm /に保存されます ディレクトリ。

ls /usr/lib/jvm

.bashrcでJavaパスを設定します ファイル。

sudo gedit .bashrc

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

export PATH =$ PATH:/ usr / lib / jvm / java-7-openjdk-amd64 / bin

以下のコマンドを実行して、.bashrcファイルに加えられた変更を更新します。

source .bashrc

3)SSH

Hadoopはノードを管理するためにSSHアクセスを必要とするため、マスターシステムとスレーブシステムの両方にsshをインストールする必要があります。

sudo apt-get install openssh-server</pre


Now, we have to generate an SSH key on master machine. When it asks you to enter a file name to save the key, do not give any name, just press enter.
ssh-keygen -t rsa -P ""

次に、この新しく作成されたキーを使用して、マスターマシンへのSSHアクセスを有効にする必要があります。

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

次に、ローカルマシンに接続してSSHセットアップをテストします。

ssh localhost

次に、以下のコマンドを実行して、マスターで生成された公開鍵をスレーブに送信します。

ssh-copy-id -i $HOME/.ssh/id_rsa.pub ubuntu@slave

マスターとスレーブの両方に公開鍵があるので、マスターをマスターに接続し、マスターをスレーブに接続することもできます。

ssh master
ssh slave

マスターについて

以下のようにマスターファイルを編集します。

sudo gedit hadoop-2.7.3/etc/hadoop/masters

以下のようにスレーブファイルを編集します。

sudo gedit hadoop-2.7.3/etc/hadoop/slaves

スレーブ上

以下のようにマスターファイルを編集します。

sudo gedit hadoop-2.7.3/etc/hadoop/masters

4)Hadoopのインストール

これで、javaとsshのセットアップの準備が整いました。両方のシステムにHadoopをインストールするのは良いことです。以下のリンクを使用して、hadoopパッケージをダウンロードします。最新の安定バージョンhadoop2.7.3を使用しています

http://hadoop.apache.org/releases.html

マスターについて

以下のコマンドはhadoop-2.7.3をダウンロードします tarファイル。

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
ls

ファイルを解凍する

tar -xvf hadoop-2.7.3.tar.gz
ls

システムにHadoopがインストールされていることを確認します。

cd hadoop-2.7.3/
bin/hadoop-2.7.3/

hadoopの構成を設定する前に、以下の環境変数を.bashrcファイルに設定します。

cd
sudo gedit .bashrc

Hadoop環境変数

# Set Hadoop-related environment variables 

 

export HADOOP_HOME=$HOME/hadoop-2.7.3

export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop

export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3 

export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3 

export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3

export YARN_HOME=$HOME/hadoop-2.7.3

# Add Hadoop bin/ directory to PATH 

export PATH=$PATH:$HOME/hadoop-2.7.3/bin

.bashrcの最後に下の行を入力します ファイル、ファイルを保存して閉じます。

source .bashrc

「hadoop-env.sh」でJAVA_HOMEを構成します 。このファイルは、Hadoop起動スクリプトによって開始されるApacheHadoop2.7.3デーモンによって使用されるJDKに影響を与える環境変数を指定します。

cd hadoop-2.7.3/etc/hadoop/
sudo gedit hadoop-env.sh

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

上記のようにJavaパスを設定し、ファイルを保存して閉じます。

次に、 NameNodeを作成します およびDataNode ディレクトリ。

cd

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/namenode

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/datanode

Hadoopには多くの構成ファイルがあり、Hadoopインフラストラクチャの要件に従って構成する必要があります。 Hadoop構成ファイルを1つずつ構成しましょう。

cd hadoop-2.7.3/etc/hadoop/

sudo gedit core-site.xml

Core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

</configuration>
sudo gedit hdfs-site.xml

hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/datanode</value>

</property>

</configuration>
sudo gedit yarn-site.xml

yarn-site.xml

<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>

</configuration>
cp mapred-site.xml.template mapred-site.xml

sudo gedit mapred-site.xml

mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

次に、スレーブマシンでも同じhadoopのインストールと構成の手順に従います。両方のシステムにHadoopをインストールして構成した後、Hadoopクラスターを起動する最初のことはフォーマットです。 hadoopファイルシステム 、クラスターのローカルファイルシステムの上に実装されます。これは、Hadoopの初回インストール時に必要です。実行中のhadoopファイルシステムをフォーマットしないでください。フォーマットするとすべてのHDFSデータが消去されます。

マスターについて

cd

cd hadoop-2.7.3/bin

hadoop namenode -format

これで、Hadoopデーモン( NameNode、DataNode、ResourceManager )を起動する準備が整いました。 およびNodeManager ApacheHadoopクラスターで。

cd ..

次に、以下のコマンドを実行して、マスターマシンでNameNodeを起動し、マスターとスレーブでDataNodeを起動します。

sbin/start-dfs.sh

以下のコマンドはYARNデーモンを起動し、ResourceManagerはマスターで実行され、NodeManagerはマスターとスレーブで実行されます。

sbin/start-yarn.sh

JPS(Java Process Monitoring Tool)を使用して、すべてのサービスが正しく開始されていることをクロスチェックします。マスターマシンとスレーブマシンの両方で。

以下は、マスターマシンで実行されているデーモンです。

jps

スレーブ上

DataNodeとNodeManagerがスレーブマシンでも実行されていることがわかります。

jps

次に、マスターマシンでMozillaブラウザーを開き、以下のURLに移動します

NameNodeのステータスを確認します: http:// master:50070 / dfshealth.html

'2'が表示された場合 ライブノード 、つまり2つのDataNode が稼働していて、マルチノードのHadoopカルスターを正常にセットアップできました。

結論

Hadoopクラスターにノードを追加できます。必要なのは、新しいスレーブノードIPをマスターのスレーブファイルに追加し、sshキーを新しいスレーブノードにコピーし、マスターIPを新しいスレーブノードのマスターファイルに入れてから再起動することです。 hadoopサービス。おめでとう!!これで、マルチノードのHadoopクラスターが正常にセットアップされました。


Ubuntu
  1. Ubuntuでスワップファイルを追加する方法

  2. Ubuntu20.04でMariaDBGaleraクラスターをセットアップする方法

  3. Ubuntu16.04でHAProxyをセットアップする方法

  1. Ubuntu16.04でHadoopMapReduceプログラムを実行する方法

  2. Ubuntu18.04でUFWファイアウォールを設定する方法

  3. g++ を Ubuntu にインストールする方法

  1. Ubuntu18.04でホスト名を変更する方法

  2. Ubuntu18.04または20.04にHadoopをインストールする方法

  3. UbuntuLinuxでファイルを削除する方法