ハドープYarnを使ったデートピア

HadoopHadoopBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

情報が純粋な知識の流れのように流れる空想的な国、デートピアに住んでいた奇妙な存在、デーティナがいました。デーティナの唯一の目的は、データの世界の複雑な仕組みを理解し、その可能性を引き出すことでした。ある日、デーティナは膨大な量のデータを処理することができる強力なツール、ハドープと呼ばれる神秘的な力に出会いました。しかし、その機能を最大限に引き出すには、デーティナはYarnコマンドを実行し、jarファイルを操作する技術を習得する必要がありました。

この実験の目的は、ハドープエコシステム内でYarnコマンドとjarファイルを利用するプロセスを通じてデーティナを案内することです。この実験を完了することで、デーティナは効率的にアプリケーションを管理して実行するために必要なスキルを身につけ、デートピアの国でハドープの真の可能性を解き放つことができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopMapReduceGroup(["Hadoop MapReduce"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopMapReduceGroup -.-> hadoop/mappers_reducers("Coding Mappers and Reducers") hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_app("Yarn Commands application") hadoop/HadoopYARNGroup -.-> hadoop/yarn_log("Yarn Commands log") hadoop/HadoopYARNGroup -.-> hadoop/yarn_jar("Yarn Commands jar") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/fs_ls -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/mappers_reducers -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/yarn_setup -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/yarn_app -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/yarn_log -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/yarn_jar -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/yarn_node -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} hadoop/hive_setup -.-> lab-289011{{"ハドープYarnを使ったデートピア"}} end

ハドープ環境の探索

このステップでは、ハドープ環境に慣れ親しみ、すべての必要なコンポーネントが適切に構成されていることを確認します。

まず、hadoop ユーザーに切り替えます。

su - hadoop

次に、ハドープのバージョンを確認します。

hadoop version

以下のような出力が表示されるはずです。

Hadoop 3.3.6
...

利用可能なjarファイルの一覧表示

このステップでは、ハドープ環境において利用可能なjarファイルを一覧表示する方法を学びます。これらのjarファイルには、Yarnコマンドを使用して実行できる事前に構築されたアプリケーションとユーティリティが含まれています。

ls $HADOOP_HOME/share/hadoop/mapreduce/*.jar

出力には、$HADOOP_HOME/share/hadoop/mapreduce ディレクトリにあるjarファイルの一覧が表示されます。これらのjarファイルは、Yarnコマンドとともに様々なアプリケーションとユーティリティを実行するために使用できます。

/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar
...

Yarnを使ってjarファイルを実行する

このステップでは、yarn jar コマンドを使ってjarファイルを実行する方法を学びます。例として hadoop-mapreduce-examples jarファイルを使用します。

さて、hadoop-mapreduce-examples jarからWordCountの例を実行します。

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /home/hadoop/input /home/hadoop/output

ヒントhadoop fs -cat /home/hadoop/input/* でファイルの内容を読むことができます。

入力ファイルの内容:

hello world
hello labex
hello Hadoop
hello Java

上記のコマンドでは、jarファイル hadoop-mapreduce-examples-3.3.6.jar、実行するアプリケーション wordcount、入力および出力パス /home/hadoop/input および /home/hadoop/output をそれぞれ指定しています。

コマンドを実行した後、以下に似た出力が表示されるはずです。

hadoop:~/ $ hadoop fs -cat /home/hadoop/output/*                     [19:54:17]
Hadoop	1
Java	1
hello	4
labex	1
world	1

Yarnアプリケーションの監視

このステップでは、様々なコマンドを使ってYarnアプリケーションを監視および管理する方法を学びます。

実行中のYarnアプリケーションを一覧表示する:

yarn application -list

端末の例の出力:

UBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED] and tags: []):1
                Application-Id	    Application-Name	    Application-Type	      User	     Queue	             State	       Final-State	       Progress	                       Tracking-URL
application_1711070937750_0001	          word count	           MAPREDUCE	    hadoop	   default	          FINISHED	         SUCCEEDED	           100%	http://iZj6cdxwclh8pms0k1vyyhZ:19888/jobhistory/job/job_1711070937750_0001

アプリケーションの状態を取得する

yarn application -status <application_id>

端末の例の出力:

hadoop:~/ $ yarn application -status application_1711070937750_0001   [9:31:46]
2024-03-22 09:33:12,186 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
2024-03-22 09:33:12,521 INFO conf.Configuration: resource-types.xml not found
2024-03-22 09:33:12,522 INFO resource.ResourceUtils: Unable to find'resource-types.xml'.
Application Report :
	Application-Id : application_1711070937750_0001
	Application-Name : word count
	Application-Type : MAPREDUCE
	User : hadoop
	Queue : default
	Application Priority : 0
	Start-Time : 1711071042168
	Finish-Time : 1711071057334

実行中のアプリケーションを終了する

yarn application -kill <application_id>

端末の例の出力:

hadoop:~/ $ yarn application -kill application_1711070937750_0001     [9:33:14]
2024-03-22 09:34:45,075 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Application application_1711070937750_0001 has already finished

ヒントyarn application -list -appStates ALL ですべてのアプリケーションを一覧表示できます。

yarn application コマンドを使うと、Yarnアプリケーションを一覧表示、監視、管理できます。それぞれのサブコマンドを使って、アプリケーションの状態を取得したり、実行中のアプリケーションを終了させることもできます。

まとめ

この実験では、私たちはデータの世界であるデートピアを旅しました。好奇心旺盛な存在であるデーティナは、ハドープのYarnコマンドとjarファイルの真の可能性を解き明かそうとしました。この実験を完了することで、デーティナは利用可能なjarファイルを一覧表示し、yarn jarコマンドを使ってアプリケーションを実行し、Yarnアプリケーションを監視および管理するという貴重なスキルを身につけました。

実践的な演習を通じて、デーティナはハドープ環境を操り、WordCountのような事前に構築されたアプリケーションを実行し、様々なYarnコマンドを使って実行中のアプリケーションを監視する方法を学びました。これらのスキルは、デーティナにハドープの力を引き出す力を与えるだけでなく、データの世界のさらなる探求と習得のための基盤を築きます。

この実験は、私に技術的な概念を空想的な物語と融合させた魅力的で情報に富んだ学習体験を作り出すことを求めました。架空の世界と身近なキャラクターをデザインすることで、特に初心者にとって学習プロセスをより楽しくてアクセスしやすくすることを目指しました。また、スムーズな学習の旅を保証するために、明確な指示、サンプルコードの断片、詳細な説明を提供することに焦点を当てました。