Hadoop の NameNode と DataNode サービスを起動する方法

HadoopHadoopBeginner
今すぐ練習

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

はじめに

Hadoop は、大規模データセットの分散ストレージと処理のための人気のあるオープンソースフレームワークです。このチュートリアルでは、Hadoop クラスタのコアコンポーネントである Hadoop NameNode と DataNode サービスを起動する手順を案内します。この記事の最後まで読むと、Hadoop インフラストラクチャを起動して実行する方法をしっかりと理解できるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/node("DataNode and NameNode Management") hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopYARNGroup -.-> hadoop/resource_manager("Resource Manager") hadoop/HadoopYARNGroup -.-> hadoop/node_manager("Node Manager") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} hadoop/node -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} hadoop/yarn_setup -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} hadoop/yarn_node -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} hadoop/resource_manager -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} hadoop/node_manager -.-> lab-417411{{"Hadoop の NameNode と DataNode サービスを起動する方法"}} end

Hadoop の基礎知識

Hadoop とは何か?

Hadoop は、大規模データセットの分散ストレージと処理のためのオープンソースフレームワークです。単一のサーバから数千台のマシンまで拡張可能で、それぞれがローカルのコンピューティングとストレージを提供します。Hadoop は、Google File System (GFS) と MapReduce プログラミングモデルに基づいています。

Hadoop の主要コンポーネント

Hadoop は、2 つの主要なコンポーネントで構成されています。

  1. Hadoop Distributed File System (HDFS):HDFS は、アプリケーションデータに高スループットでアクセスできる分散ファイルシステムです。汎用ハードウェア上で動作するように設計されており、耐障害性、高可用性、および拡張性を備えています。

  2. Hadoop MapReduce:Hadoop MapReduce は、大量のデータを大規模なコンピュートノードクラスタ上で並列に高速処理するアプリケーションを作成するためのプログラミングモデルおよびソフトウェアフレームワークです。

Hadoop のアーキテクチャ

Hadoop はマスター - スレーブアーキテクチャに従っており、マスターノードはクラスタの管理を担当し、スレーブノードはタスクの実行を担当します。

graph TD Master[Master Node] --> DataNode[DataNode] Master --> NameNode[NameNode] DataNode --> Worker[Worker Nodes] NameNode --> HDFS[HDFS]

Hadoop のユースケース

Hadoop は、さまざまな業界やアプリケーションで広く使用されており、以下が含まれます。

  • ビッグデータ分析
  • 機械学習と人工知能
  • ログ処理と分析
  • クリックストリーム分析
  • ゲノミクス研究
  • レコメンデーションシステム

Ubuntu 22.04 への Hadoop のインストール

Ubuntu 22.04 に Hadoop をインストールするには、以下の手順に従ってください。

  1. パッケージインデックスを更新します。
sudo apt-get update
  1. 必要なパッケージをインストールします。
sudo apt-get install openjdk-11-jdk hadoop
  1. Hadoop の環境変数を設定します。
export HADOOP_HOME=/usr/lib/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

これで Hadoop の基本的な知識がわかったので、次は NameNode と DataNode サービスの起動に移りましょう。

Hadoop NameNode の起動

NameNode の理解

NameNode は Hadoop クラスタのマスターノードで、ファイルシステムの名前空間を管理する責任を持っています。これには、ファイルやディレクトリの開閉、名前の変更などが含まれます。また、ブロックと DataNode のマッピングを決定します。

NameNode の起動

NameNode を起動するには、以下の手順に従ってください。

  1. NameNode を初期化します。
hdfs namenode -format
  1. NameNode サービスを起動します。
hadoop-daemon.sh start namenode

http://localhost:9870 のウェブインターフェイスを確認することで、NameNode が実行中であることを確認できます。

NameNode の設定

NameNode の設定は、$HADOOP_HOME/etc/hadoop/core-site.xml$HADOOP_HOME/etc/hadoop/hdfs-site.xml ファイルに保存されています。

以下は設定の例です。

<!-- core-site.xml -->
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

<!-- hdfs-site.xml -->
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/path/to/namenode/data</value>
  </property>
</configuration>

これらの設定では、デフォルトのファイルシステムを HDFS に、レプリケーションファクタを 3 に、NameNode のデータディレクトリの場所を設定しています。

これで NameNode が起動して実行されているので、次は DataNode サービスの起動に移りましょう。

Hadoop DataNode の起動

DataNode の理解

DataNode は Hadoop クラスタのスレーブノードで、データブロックの保存と管理を担当します。NameNode と通信して、利用可能なブロックのリストを報告し、データのレプリケーションやブロック管理の指示を受け取ります。

DataNode の起動

DataNode を起動するには、以下の手順に従ってください。

  1. DataNode のストレージディレクトリをフォーマットします。
hdfs datanode -format
  1. DataNode サービスを起動します。
hadoop-daemon.sh start datanode

http://localhost:9864 のウェブインターフェイスを確認することで、DataNode が実行中であることを確認できます。

DataNode の設定

DataNode の設定は、$HADOOP_HOME/etc/hadoop/hdfs-site.xml ファイルに保存されています。

以下は設定の例です。

<!-- hdfs-site.xml -->
<configuration>
  <property>
    <name>dfs.data.dir</name>
    <value>/path/to/datanode/data</value>
  </property>
</configuration>

この設定では、DataNode のデータディレクトリの場所を設定しています。

Hadoop クラスタの監視

NameNode と DataNode が提供するウェブインターフェイスを使用して、Hadoop クラスタを監視できます。

  • NameNode のウェブインターフェイス: http://localhost:9870
  • DataNode のウェブインターフェイス: http://localhost:9864

これらのインターフェイスは、クラスタの状態、実行中のジョブ、およびリソースの利用状況に関する情報を提供します。

おめでとうございます!これで Hadoop NameNode と DataNode サービスを正常に起動しました。この知識を使って、Hadoop ベースのアプリケーションの構築と実行を開始できます。

まとめ

Hadoop の NameNode と DataNode サービスの起動方法を習得することは、堅牢なビッグデータ処理環境を構築する上で重要なステップです。このチュートリアルでは、Hadoop の基本概念を説明し、これらの重要なサービスを起動する手順を段階的に解説しました。この知識を活かして、組織の増大するデータニーズに対応するために、自信を持って Hadoop クラスタをデプロイし管理することができます。