はじめに
遠い銀河系にあるアンドロメダ宇宙ステーションは、星系間の探索と研究の拠点となっています。熟練した宇宙船パイロットとして、あなたの任務は広大な宇宙空間を航行し、様々な天体からデータを収集し分析することです。ただし、あなたの旅は問題なく進むものではありません。Hadoop で動作する宇宙船の搭載コンピュータシステムは、Yarn Commands log を使って効率的にリソースを管理・監視する技術を身につける必要があります。
あなたの目標は、Hadoop エコシステム内の強力なツールである Yarn Commands log を十分に理解することで、探検中のスムーズな運用を確保することです。このツールをマスターすることで、リソースの使用状況を監視し、ジョブの進捗を追跡し、発生する可能性のある問題を解決することができ、最終的に任務の成功を確保することができます。
Yarn Commands log に慣れる
このステップでは、Yarn Commands log の基本概念と、Hadoop エコシステム内のリソース管理におけるその役割について学びます。
まず、ユーザを hadoop に変更してから、hadoop ユーザのホームディレクトリに切り替えます。
su - hadoop
次に、利用可能な Yarn Commands の一覧を表示します。
yarn --help
yarn --help コマンドは、利用可能なサブコマンドとその説明の一覧を表示します。これらのサブコマンドの中には、yarn logs、yarn top、yarn node など、ログに関連するものがいくつかあります。
以下は、出力例です。
Usage: yarn [--help] [COMMAND]
where COMMAND is one of:
node Prints information about a specific node
logs Fetch and view logs for a specific container
top View cluster information
...
各サブコマンドの目的と使い方を理解するには、サブコマンド名に -help フラグを付けて使用できます。たとえば:
yarn logs -help
これにより、yarn logs サブコマンドに関する詳細情報、つまり構文、オプション、サンプルが提供されます。
コンテナ ログの表示
このステップでは、yarn logs コマンドを使用して特定のコンテナのログを取得し表示する方法を学びます。
まず、サンプル ジョブを送信していくつかのログを生成しましょう。
Hadoop のサンプル ディレクトリに移動します。
cd /home/hadoop/hadoop/share/hadoop/mapreduce
WordCount のサンプルを実行します。
yarn jar hadoop-mapreduce-examples-3.3.6.jar wordcount /home/hadoop/input /home/hadoop/output
ジョブが実行中または完了したら、yarn logs コマンドを使用してログを取得できます。
ジョブの出力からアプリケーション ID を取得します。
appId="application_1234567890123_0001"
指定されたアプリケーションのログを表示します。
yarn logs -applicationId $appId
application_1234567890123_0001 を、ジョブの出力から取得した実際のアプリケーション ID に置き換えてください。
yarn logs コマンドは、指定されたアプリケーションに関連付けられたすべてのコンテナの結合されたログを表示します。また、-containerId オプションを使用して特定のコンテナのログを表示することもできます。
containerId="container_1234567890123_0001_01_000001"
yarn logs -applicationId $appId -containerId $containerId
container_1234567890123_0001_01_000001 を、調べたい実際のコンテナ ID に置き換えてください。
クラスタ リソースの監視
yarn top コマンドは、クラスタのリソース利用状況のリアルタイム ビューを提供します。これには、実行中のアプリケーション、ノード マネージャ、およびリソース割り当てに関する情報が含まれます。
yarn top
出力には、クラスタのリソース使用状況の概要が表示されます。これには、利用可能な合計リソース、割り当てられたリソース、保留中のリソースが含まれます。また、実行中のアプリケーション、その進捗状況、および消費しているリソースが一覧表示されます。
ノード情報の調査
yarn node コマンドを使用すると、Hadoop クラスタ内の特定のノード マネージャまたはリソース マネージャに関する詳細情報を調査できます。
クラスタ内のすべてのノードの情報を一覧表示します。
yarn node -list
iZj6c7ur7j3az0k9shzn2kZ:38115 をノード マネージャ ID に置き換えてください。
nodeId="iZj6c7ur7j3az0k9shzn2kZ:38115"
ノード マネージャの情報を表示するには:
yarn node -status $nodeId
出力には、ノード マネージャのアドレス、ノードのヘルス状態、利用可能なリソース、およびノード上の実行中のコンテナの一覧などの情報が表示されます。
まとめ
この実験では、Yarn Commands log を通じて Hadoop のリソース管理の広大な世界をどのように探索するかを学びました。これらのコマンドをマスターすることで、Hadoop エコシステム内のリソース使用状況を監視し、ジョブの進捗を追跡し、問題をトラブルシューティングする能力を身につけました。この知識は、あなたが銀河間の任務に乗り出す際に非常に貴重であり、効率的な操作と天体からの成功したデータ収集を保証します。熟練した宇宙船パイロットになる旅は大きな一歩前進しました。そして、あなたは今、宇宙の奥深くに立ち向かう際のチャレンジに対処するための準備が整っています。



