Hadoopを最初からインストールする

目次

1. 新しい仮想マシンを作成します

2.固定IPを設定する

3つの検査

3.1 仮想マシンが設定した IP アドレスに ping できるかどうかを確認する

3.2 仮想マシンが外部ネットワークに接続できるかどうかを確認する

3.3 ホストが仮想マシンに ping できるかどうかを確認する

4. SSH 保護されていないログイン、リモート接続、およびファイアウォールの無効化

5.JDKのインストール

6. ローカルモード

6.1 パラメータの設定

6.2 検証

7. 擬似分散モード

8. 完全分散モード

8.1 /etc/hadoop/hadoop-env.sh

8.2 /etc/hadoop/yarn-env.sh

8.3 /etc/hadoop/スレーブ

8.4 /etc/hadoop/core-site.xml

8.5 /etc/hadoop/hdfs-site.xml

8.6 /etc/hadoop/mapred-site.xml

8.7 /etc/hadoop/yarn-site.xml

8.8 仮想マシンのクローンを作成する

8.9 SSH パスワード不要ログインの構成

8.10 時刻同期の構成


必要なツール:

  • VMware 15 プロ

  • Linux オペレーティング システム CentOS 7

  • Hadoop 2.10.1

  • JDK-18

1. 新しい仮想マシンを作成します

Hadoop は、データ ストレージ (HDFS) とコンピューティング (MapReduce) のための分散クラスターに基づいています。つまり、複数のコンピューターが必要です。実際に複数のコンピューターを使用してクラスターを構築することを選択できます。複数のコンピューターが手元にない場合は、 、仮想機関を使用できます。複数のコンピュータを構築するために、仮想マシンは 1 台の実マシンを使用して複数のマシンのふりをすることができるツールです。 VMware を開いて新しい仮想マシンを作成します

通常のインストールを選択するだけです

http://mirrors.bupt.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso に Linux オペレーティング システムをダウンロードし、イメージ ファイルとしてダウンロードしたファイル パスを選択します

[ハードウェアのカスタマイズ] をクリックして、新しい仮想マシンのハードウェア プロパティを再構成します (できるだけ多くのメモリを割り当てるようにしてください)。

ネットワークについては、下のドロップダウン ボックスで NAT モードを選択するか、VMnet8 をカスタマイズすることができます。ネットワーク接続方法です。詳細については説明する必要はありません。次に、「完了」をクリックして、インストールが完了するまで待ちます。

2.固定IPを設定する

リファレンスcentOS7 仮想マシンの固定 IP 設定 - Zhengwu Luna - Blog Park このステップは何を意味しますか? 仮想マシンの確立が完了しました。複数の仮想マシンは IP アドレスを介して相互に通信します。仮想マシンの IP アドレスは、システムによって自動的に割り当てられるのではなく、自分で設定したいと考えています。 (この手順は非常に重要であり、間違えてはいけません) 新しく作成した仮想マシンの IP アドレスを 192.168.2.2 に設定するとします。システムをインストールして [再起動] をクリックすると、 このインターフェイスが表示されます。

これは Linux のコマンド ライン インターフェイスです。Windows で通常使用するインターフェイスは、グラフィカル インターフェイスと呼ばれます。Linux で何らかの作業を行うだけで、娯楽などのためにインターネットをサーフィンしない場合は、このコマンド ライン インターフェイスで十分です。 localhost ログインにログインするユーザー名を入力します。ここで root アカウントでログインすると、対応するパスワードの入力を求められます。ここでパスワードを入力するには、メイン キーボードの数字を使用することに注意してください。小さなキーボードの数字を入力しないでください (パスワードを入力すると画面に表示されませんのでご注意ください) 正しく入力したら、システムに入ります。

「root@localhost ~」は、現在のユーザーが root、ホスト名が localhost、~ が現在の作業ディレクトリ (ルート ディレクトリ) であることを意味します。

cd /etc/sysconfig/network-scripts/

ここで、cd はディレクトリジャンプを意味します。/etc ディレクトリはシステム構成に関するディレクトリです。IP アドレスを変更する、つまりネットワーク構成を変更したいので、/etc/sysconfig/network-scripts/ ディレクトリにジャンプして、次のように入力します。コマンド。

ls

このディレクトリ内のファイルを一覧表示します

vim を使用して ifcfg-ens33 ファイルを編集します。このファイルはネットワーク カードの構成ファイルです。コマンドを入力します。

vi ifcfg-ens33

このようにしてファイルを開くと、root アカウントでログインしているため、ファイルに変更を加えることができます。

「i」を押してテキスト編集モードに入り、次のように変更します。

いくつかのプロパティの値の変更に焦点を当てます。BOOTPROTO プロパティを static に変更し、元の dhcp 設定をキャンセルし、onboot プロパティを yes に変更します。起動時に構成を読み取るように設定し、IPADDR プロパティを追加します。修正されたプロパティを書き込みます。ここで変更する IP アドレスを指定し、NETMASK を追加します。プロパティ、これはサブネット マスクです。それを入力して GATEWAY (スペルに注意してください) を追加します。ここはゲートウェイのアドレスです。最初の 3 つのフィールドは最初のフィールドと一致している必要があります。設定する IP アドレスの 3 つのフィールド、最後のフィールドは 1 にすることをお勧めします。忘れないでください。次に、2 から始まる IP アドレスに DNS1 属性を追加します。これが DNS アドレスです。変更後、ESC キーを押して、入力

::wq!

これにより、設定情報が書き込まれます。

service network restart

ネットワークを再起動します。仮想マシンの上のメニューで [編集] -> [仮想ネットワーク エディタ] オプションをクリックします。

仮想マシンによって仮想化されたネットワークカードである VMnet8 オプションを選択し、「設定の変更」をクリックします。

[ローカル DHCP を使用する...] チェックボックスをオフにして、サブネット IP を設定する IP アドレスの最初の 3 つのフィールドと同じになるように設定します。最後のフィールドは 0、サブネット マスクは 255.255.255.0 です。をクリックし、「NAT 設定」をクリックします。

設定したゲートウェイ アドレスを入力し、[OK] をクリックして元に戻ります。Windows ホストに戻り、[設定] > [アダプター オプションの変更] で [WLAN] を開きます。

2 番目の VMnet8 を右クリックし、[プロパティ] をクリックします。

インターネット プロトコル バージョン 4 の [プロパティ] オプションをクリックし、特定のアドレスを入力します。ここでの IP アドレスは、設定した仮想マシンの IP アドレスと同じであってはなりません。

それなら必ず最後まで戻ってください

3つの検査

この時点で、IP 設定が成功したかどうかを確認する必要があります。

3.1 仮想マシンが設定した IP アドレスに ping できるかどうかを確認する

以下の結果が表示されれば、ping が成功したことがわかります。

Ctrl+Z を押して ping を停止します

3.2 仮想マシンが外部ネットワークに接続できるかどうかを確認する

Ping Baidu. 以下の結果が表示されれば、ping が成功していることがわかります。

3.3 ホストが仮想マシンに ping できるかどうかを確認する

Windows ホストに戻り、win+r を押して cmd を入力してコマンド ライン ウィンドウを開き、設定した仮想マシンの IP アドレスに ping を実行します。次の結果が表示されれば、ping が成功したことがわかります。失敗した場合は、 Windows ファイアウォールを使用して再試行してください。

4. SSH 保護されていないログイン、リモート接続、およびファイアウォールの無効化

まず SSH パスワードなしログインを設定し、次のように入力します。

ssh-keygen -t rsa

次に Enter を 3 回押して確定します

IP とドメイン名の間のマッピングを設定します。次のように入力します。

vi /etc/hosts

「i」を押して、仮想マシンの IP アドレスとドメイン名のマッピングをファイルに入力します。

マスターは上で作成した仮想マシンで、スレーブはスレーブです。

ssh-copy-id -i /root/.ssh/id_rsa.pub master

プロンプトに従って「yes」とパスワードを入力するだけで、他の仮想マシンも同様にコピーします (最初はスキップできます)。

ssh-copy-ip -i /root/.ssh/id_rsa.pub slave1 
ssh-copy-ip -i /root/.ssh/id_rsa.pub slave2 
ssh-copy-ip -i /root/.ssh/id_rsa.pub slave3

次に入力してください

ssh master

設定が成功したか確認し、以下の結果が表示されれば設定は成功です。

WinScp およびその他のツールを使用して、仮想マシンにリモート接続します。なぜリモート接続する必要があるのですか? たとえば、以下の JDK と Hadoop をダウンロードする必要があります。仮想マシンに直接ダウンロードすると、非常に遅くなります。 Windows ホストにダウンロードしてリモート接続し、仮想マシンにアップロードすることができます。

ホスト名に先ほど設定した仮想マシンの IP アドレスを記述し、ユーザー名とパスワードを入力するだけでリモート接続できます (デフォルトでは、対応するユーザーのルート ディレクトリに移動します)。次に、ホストのファイアウォールをオフにし、root に切り替えて、次のように入力します。

firewall-cmd --state

現在のファイアウォールのステータスを表示できます。 Enter

systemctl stop firewalld.service

ファイアウォールをオフにする Enter

systemctl disable firewalld.service

起動時にファイアウォールサービスが開始されないようにする

5.JDKのインストール

Hadoop は Java に依存しているため、JDK をインストールする必要があります。公式 Web サイトにアクセスして JDK をダウンロードし、リモート接続を通じて仮想マシンにアップロードします。

次に、リモート接続のログイン番号を使用して仮想マシンに再度ログインし、「ls」と入力して、ファイルが正常にアップロードされたかどうかを確認します。

次に入力してください

tar zxvf openjdk_18_linux-x64_bin.tar.gz

JDK パッケージを現在のフォルダーに解凍し、次のように入力します。

cd jdk-18/bin

解凍後のJDKのbinフォルダに入り、次のように入力します。

./java -version

JDKが正常にインストールされているか確認し、以下のようであれば成功です。

次に、Java 関連のコマンドをコマンド ラインで直接使用できるように、環境変数 PATH を設定します。まず、jdk 解凍ディレクトリにジャンプして、次のように入力します。

pwd

出力する変数情報を記録する

入力

su -

パスワードを入力して root 入力に切り替えます

vi /etc/profile

環境変数を設定し、ファイルの最後に追加します。
 

export JAVA_HOME=刚才你记录的输出

export PATH=$PATH:$JAVA_HOME/bin

次に入力してください

source /etc/profile java -version

次の出力が表示されれば、構成は成功しています。


Hadoop には 3 つのインストール モードがあります。

  1. ローカル モード: デーモンは必要ありません。すべてのプログラムは同じ JVM 上で実行されます。Hadoop を操作していくつかの MapReduce プログラムを作成するだけの場合は、このモードで十分です。

  2. 擬似分散モード: 現在のマシンはマスター ノードとスレーブ ノードの両方であり、すべてのデーモン プロセスが同じマシン上で実行され、クラスターをシミュレートします。

  3. 完全分散モード: 現在のマシンがマスター ノードであり、他のマシンがスレーブ ノードであり、ノードはネットワーク (実際のクラスター) を介して通信します。

3 つの異なるインストール モードについて以下に説明します。

6. ローカルモード

ローカル モードのインストール手順は次のとおりです。

  1. 仮想マシンをインストールする

  2. 固定IPを設定する

  3. JDKのインストール

  4. SSH パスワードなしログインを構成する

  5. Hadoop環境パラメータの設定

  6. 確認する

1~4については前述しましたので、パラメータの設定について説明します。

6.1 パラメータの設定

hadoop-env.sh ファイルを変更し、正しい JAVA_HOME の場所を設定します。

Hadoop 解凍ディレクトリにジャンプします。すべての設定ファイルは、Hadoop 解凍ディレクトリ /etc/hadoop にあります。cd を使用して、このディレクトリにジャンプします。

cd user/hadoop-2.10.1/etc/hadoop 

現在のシステムの Java 構成の場所を取得する

which java 

この出力を記録します

入力

vi hadoop-en.sh 

参加する

exprot 你的Java配置位置 

これで設定は完了です。

Hadoop ルート入力を PATH に追加

vi /etc/profile 

Hadoop環境変数を追加する

次に入力してください

source /etc/profile 

これにより、コマンド ラインから直接 Hadoop コマンドを利用できるようになります。

6.2 検証

入力

hadoop fs -ls 

これは、HDFS システムを表示し、その下のファイルを一覧表示します。ローカル モードなので、出力はローカル マシンのディレクトリです。出力が次のようであれば、ローカル モードのインストールが成功し、MapReduce が実行されたことが証明されます。タスクを実行できます。

7. 擬似分散モード

擬似分散とは、ローカル マシンがマスター ノードとスレーブ ノードの両方として機能できることを意味します。インストール手順は次のとおりです。

  1. 仮想マシンをインストールする

  2. 固定IPの設定

  3. パスワードなしのログイン SSH を構成し、ファイアウォールをオフにする

  4. JDKのインストール

  5. Hadoop のインストール

  6. Hadoopパラメータの設定

  7. 確認する

1 ~ 5 は上記と同様に実行できます。6 と 7 はhttps://www.cnblogs.com/thousfeet/p/8618696.html< /a > /etc/hosts でホスト IP アドレス マッピング テーブルを変更し、仮想マシンとドメイン名間のマッピングを追加します

マスターは現在のホストで、IP アドレスは 192.168.128.130 です。次の 3 つはスレーブ ノードで、後で完全分散モードで使用されます。次に、「ping master」と入力し、ping が成功した場合は、設定が成功したことを示します。

8. 完全分散モード

完全分散モードでは、複数のマシンが存在し、これらのマシンがクラスタを形成し、そのうちの 1 つがマスター ノード、もう 1 つがスレーブ ノードになります。マスターノードは複数のスレーブノードを調整して外部サービスを提供するため、クラスターは複数のノードで構成されていますが、顧客にとっては通常のマシンのように感じられます。インストール手順は次のとおりです。

  1. 仮想マシンをインストールする

  2. 固定IPを設定する

  3. JDKのインストール

  4. Hadoop のインストール

  5. Hadoop の構成

  6. 仮想マシンのクローンを作成する

  7. SSH パスワード不要のログインを構成する

  8. 時刻同期サービスを構成する

1~4 Hadoop の構成には次の 7 つのファイルが含まれます。

  1. /etc/hadoop/hadoop-env.sh: Hadoop 実行の基本環境構成

  2. /etc/hadoop/yarn-env.sh: YARN フレームワークの実行環境設定

  3. /etc/hadoop/slaves: スレーブノード情報の設定

  4. /etc/hadoop/core-site.xml: コアプロパティ設定ファイル

  5. /etc/hadoop/hdfs-site.xml: HDFS プロパティ設定ファイル

  6. /etc/hadoop/mapred-site.xml:MapReduce 属性設定ファイル

  7. /etc/hadoop/yarn-site.xml: YARN プロパティ設定ファイル

以下に、対応するファイルの構成を順番に紹介します まず、Hadoop の解凍ディレクトリに /etc/hadoop と入力します ここで、Hadoop の解凍状況に応じてジャンプできます たとえば、次のようになります

cd hadoop-2.10.1/etc/hadoop 

8.1 /etc/hadoop/hadoop-env.sh

ここでは、JDK のインストール場所を設定する必要があります。古い vi コマンドを使用して、対応するファイルを入力し、変更を加えます。エクスポート行を JDK のインストール パスに変更します。

8.2 /etc/hadoop/yarn-env.sh

ここにもJDKを変更するためのインストールパスがあり、行を追加します

8.3 /etc/hadoop/スレーブ

ノード情報を設定し、複製した 3 つの仮想マシン ノードを追加します

8.4 /etc/hadoop/core-site.xml

いわゆる xml ファイルは複雑すぎるとは考えず、キーと値のペアのマッピングにすぎないので、次のように変更します。

<configuration> では、2 つのプロパティ<property> を定義します。最初のプロパティは HDFS システムの名前で、その場所はホストの 8020 ポートです。2 番目のプロパティは、Hadoop 一時ファイルの保存場所を構成します。

8.5 /etc/hadoop/hdfs-site.xml

4 つの属性が定義されており、それぞれ NameNode および DataNode データの格納場所、SecondaryNameNode のアドレス、およびファイル ブロックのコピー数を指定します。

8.6 /etc/hadoop/mapred-site.xml

ダウンロードした Hadoop 内のファイル名は、mapred-site.xml.template に変更されています。Hadoop 内のファイル名に注意して、次の設定を追加し、yarn フレームワークを使用するように mapreduce を設定します。

8.7 /etc/hadoop/yarn-site.xml

次の構成を追加します

<property>
 <name>yarn.resourcemanager.hostname</name> 
<value>master</value> 
</property> 
<property> 
<name>yarn.resourcemanager.address</name> 
<value>master:8032</value> 
</property> 
<property> 
<name>yarn.resourcemanager.scheduler.address</name> 
<value>master:8030</value> 
</property> 
<property> 
<name>yarn.resourcemanager.webapp.address</name> 
<value>master:8088</value> 
</property> 
<property>
 <name>yarn.resourcemanager.webapp.https.address</name>
 <value>master:8090</value>
 </property> 
<property> 
<name>yarn.resourcemanager.ressource-tracker.address</name> 
<value>master:8031</value> 
</property> 
<property> 
<name>yarn.resourcemanager.admin.address</name>
 <value>master:8033</value>
 </property> 
<property>
 <name>yarn.nodemanager.local-dirs</name> 
<value>/home/oldsummer/data/hadoop/yarn/local</value>
 </property> 
<property> 
<name>yarn.log-aggregation-enable</name> 
<value>true</value> 
</property>
 <property>
 <name>yarn.nodemanager.remote-app-log-dir</name>
 <value>/home/oldsummer/data/tmp/logs</value>
 </property>
 <property>
 <name>yarn.log.server.url</name> 
<value>http://master:19888/jobhistory/logs/</value>
 <description>URL for job history server</description> 
</property>
 <property>
 <name>yarn.nodemanager.vmem-check-enabled</name>
 <value>false</value>
 </property>
 <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> 
<property> 
<name>yarn.nodemanager.resource.memory-mb</name>
 <value>2048</value>
 </property> 
<property> 
<name>yarn.scheduler.minimum-allocation-mb</name> 
<value>512</value> 
</property> 
<property>
 <name>yarn.shceduler.maximum-allocation-mb</name> 
<value>4096</value>
 </property> 
<property> 
<name>mapreduce.map.memory.mb</name>
 <value>2048</value>
 </property> 
<property> 
<name>mapreduce.reduce.memory.mb</name> 
<value>2048</value> 
</property> 
<property> 
<name>yarn.nodemanager.resource.cpu-vcores</name>
 <value>1</value> 
</property> 

8.8 仮想マシンのクローンを作成する

現在の仮想マシンをシャットダウンし、[クローン] -> [完全クローンの作成] を右クリックし、クローン作成を待ち、関連する構成を変更し、最初にファイルを削除します。

rm -rf /etc/udev/rules.d/70-persistent-net.rules 

次に入力してください

ifconfig -a 

HWADDR の値を記録し、スレーブのネットワーク カード構成を変更し、HWADDR と IPADDR の値を変更し、UUID をコメント化します。

入力

vi /etc/sysconfig/network 

マシン名を変更して再起動します。ホストとクローン マシン間で相互に ping を実行して、成功したかどうかを確認します。同じ手順に従って、スレーブ 2 とスレーブ 3 のクローンを作成します。

8.9 SSH パスワード不要ログインの構成

マスターノード master で、次のように入力します。

ssh-keygen -t rsa 

次に、entersh を 3 回クリックし、公開キーを対応するマシンにコピーします。

ssh-copy-id -i /root/.ssh/id_rsa.pub master

ssh-copy-id -i /root/.ssh/id_rsa.pub slave1

ssh-copy-id -i /root/.ssh/id_rsa.pub slave2

ssh-copy-id -i /root/.ssh/id_rsa.pub slave3 

プロンプトに従って「yes」と「パスワード」を入力し、最後にマスターの下で「ssh スレーブ1」「ssh スレーブ2」「ssh スレーブ 3」と入力するだけでログインできれば、設定が成功したことがわかります。

8.10 時刻同期の構成

各マシンに入力します

yum install -y ntp 

時刻同期ツールをインストールする

マスターでマスターノードをメインノードとして設定します。

vi /etc/ntp.conf 

server で始まる行をコメントアウトして追加します。

restrict 192.168.0.0 mask 255.255.255.0

nomodify notrap server 127.127.1.0

fudge 127.127.1.0 stratum 10 

スレーブマシンでも、server で始まる行をコメントアウトし、次の行を追加します。

server master 

次に、すべてのマシンのファイアウォールがオフになっていることを確認し、マスター ノードに入ります。

service ntpd start chkconfig ntpd on 

スレーブノードで入力します

ntpdate master service ntpd start chkconfig ntpd on 

時刻同期サービスを開始すると、インストールと構成が完了します。次のステップは、クラスタを初期化して起動します。それでも問題が発生する場合は、この記事を参照して構成を変更できます。Hadoop 分散クラスターの起動とシャットダウンに関する問題_ghsticker のブログ - CSDN blog_Hadoop クラスターを開いた後に閉じるのを忘れました

おすすめ

転載: blog.csdn.net/Talantfuck/article/details/124567300