はじめに
Hadoop は、大規模データセットの分散ストレージと処理を行うための強力なオープンソースフレームワークです。Hadoop の中心には、クラスタ全体のリソースを管理および割り当てる責任を持つ YARN (Yet Another Resource Negotiator) コンポーネントがあります。このチュートリアルでは、Hadoop エコシステムにおける重要なコンポーネントである YARN リソースマネージャの適切な構成を確保する手順を探ります。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Hadoop は、大規模データセットの分散ストレージと処理を行うための強力なオープンソースフレームワークです。Hadoop の中心には、クラスタ全体のリソースを管理および割り当てる責任を持つ YARN (Yet Another Resource Negotiator) コンポーネントがあります。このチュートリアルでは、Hadoop エコシステムにおける重要なコンポーネントである YARN リソースマネージャの適切な構成を確保する手順を探ります。
YARN (Yet Another Resource Negotiator) は、Apache Hadoop エコシステムのリソース管理およびジョブスケジューリングコンポーネントです。Hadoop クラスタ内のコンピューティングリソースを管理し、クラスタ上で実行されるさまざまなアプリケーションやサービスに割り当てる責任を持っています。
YARN リソースマネージャは、YARN アーキテクチャの中心的なコンポーネントであり、クラスタのリソースを管理し、利用可能なリソース上でアプリケーションをスケジューリングする責任を持っています。Hadoop クラスタ上で実行したいクライアントアプリケーションが連絡する主要なポイントです。
YARN リソースマネージャの主要な責務には以下が含まれます。
YARN リソースマネージャの適切な構成と動作を確保するには、そのアーキテクチャ、構成パラメータ、およびデプロイメントと管理のベストプラクティスを理解することが不可欠です。
YARN リソースマネージャを構成するには、Hadoop インストール内の関連する構成ファイルを変更する必要があります。YARN リソースマネージャの主要な構成ファイルは yarn-site.xml
です。
以下は、YARN リソースマネージャに関する最も重要な構成パラメータの一部です。
パラメータ | 説明 |
---|---|
yarn.resourcemanager.hostname |
YARN リソースマネージャのホスト名 |
yarn.resourcemanager.address |
YARN リソースマネージャのアドレスとポート |
yarn.resourcemanager.scheduler.address |
YARN スケジューラのアドレスとポート |
yarn.resourcemanager.webapp.address |
YARN リソースマネージャの Web UI のアドレスとポート |
yarn.resourcemanager.resource-tracker.address |
YARN リソーストラッカーのアドレスとポート |
yarn.resourcemanager.admin.address |
YARN リソースマネージャの管理インターフェイスのアドレスとポート |
yarn.resourcemanager.scheduler.class |
YARN スケジューラに使用するクラス |
yarn.scheduler.maximum-allocation-mb |
各コンテナに割り当てる最大メモリ量 |
yarn.scheduler.maximum-allocation-vcores |
各コンテナに割り当てる最大仮想コア数 |
以下は、yarn-site.xml
構成ファイルの例です。
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager.example.com</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>resourcemanager.example.com:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>resourcemanager.example.com:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>resourcemanager.example.com:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>resourcemanager.example.com:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>resourcemanager.example.com:8033</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>8192</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>4</value>
</property>
</configuration>
構成ファイルに変更を加えた後は、YARN リソースマネージャを再起動することを忘れないでください。
YARN リソースマネージャを構成した後、正しく動作していることを確認するためにセットアップを検証することが重要です。YARN リソースマネージャのセットアップを検証するために実行できる手順を以下に示します。
yarn rmadmin
コマンドを使用して、YARN リソースマネージャの状態を確認できます。
yarn rmadmin -getServiceState
このコマンドは、YARN リソースマネージャの現在の状態(高可用性モードで実行している場合は ACTIVE
または STANDBY
など)を返すはずです。
Web ブラウザで構成されたアドレスとポートにアクセスすることで、YARN リソースマネージャの Web UI にアクセスできます。Web UI には、利用可能なリソース、実行中のアプリケーションなど、クラスタに関する情報が表示されるはずです。
YARN リソースマネージャが正しく機能していることを確認するために、クラスタにテストアプリケーションを送信できます。たとえば、yarn jar
コマンドを使用して MapReduce ジョブを送信できます。
yarn jar /path/to/hadoop-mapreduce-examples.jar wordcount /input/path /output/path
これにより、WordCount MapReduce ジョブが YARN クラスタに送信され、YARN リソースマネージャの Web UI でジョブの進行状況と完了を監視できます。
セットアップに問題があることを示すエラーや警告がないか、YARN リソースマネージャのログを確認することもできます。ログは通常、$HADOOP_LOG_DIR
ディレクトリにあります。
tail -n 100 $HADOOP_LOG_DIR/yarn-*-resourcemanager-*.log
これらの手順に従うことで、YARN リソースマネージャが適切に構成され、期待どおりに機能していることを確認できます。
このチュートリアルで概説された手順に従うことで、Hadoop クラスタ内の YARN リソースマネージャを適切に構成する方法を学ぶことができます。これにより、効率的なリソース管理、パフォーマンスの向上、および安定した Hadoop 環境が保証されます。YARN リソースマネージャの適切な構成を理解することは、堅牢でスケーラブルな Hadoop インフラストラクチャを維持する上で重要な側面です。