すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:ノード上の異常なJournalNodeコンポーネントを修正する

最終更新日:Jan 11, 2025

クラスター内の1つのノードのJournalNodeコンポーネントのみが異常な場合、別のノードからコンポーネントを修正できます。このトピックでは、別のノードから異常なJournalNodeコンポーネントを修正する方法について説明します。

手順

  1. Health状態のJournalNodeコンポーネントを見つけます。
    Hadoop Distributed File System(HDFS)コンポーネントのWebユーザーインターフェイス(UI)で、JournalNodeコンポーネントのステータスを表示できます。詳細については、「HDFS の Web UI」をご参照ください。
  2. 正常なJournalNodeコンポーネントがデプロイされているノードにログオンします。ヘッダーノードまたはマスターノードを選択することをお勧めします。次に、復元するファイルをパッケージ化します。
    ノードへのログオン方法の詳細については、「クラスターへのログオン」をご参照ください。
    1. HDFSユーザーに切り替えます。
      su hdfs
    2. 復元するファイルが保存されているディレクトリを入力します。
      cd /mnt/disk1/hdfs/journal/emr-cluster/
    3. ファイルをパッケージ化します。
      tar --exclude='edits*' -zcvf /tmp/jn-current.tar.gz current
      次の例は、期待される出力を示しています。
      current/
      current/last-writer-epoch
      current/VERSION
      current/last-promised-epoch
      current/paxos/
      current/committed-txid
  3. パッケージ化された jn-current.tar.gz ファイルを、異常なJournalNodeコンポーネントがデプロイされているノードに同期します。
    1. emr-user ユーザーに切り替えます。
      su emr-user
      E-MapReduce(EMR)-5.7.0以前またはEMR-3.41.0以前で emr-user ユーザーが存在しない場合は、Hadoopユーザーに切り替えることができます。
      su hadoop
    2. パッケージ化されたファイルを同期します。
      scp /tmp/jn-current.tar.gz $unhealthy-journal-node:/tmp/

      $unhealthy-journal-node パラメーターの値を、異常なJournalNodeコンポーネントがデプロイされているノードのホスト名に置き換えます。

  4. EMRコンソールで異常なHDFSノードのJournalNodeコンポーネントを停止し、異常なJournalNodeがデプロイされているノードにログオンして、JournalNodeコンポーネントを復元します。
    1. HDFSユーザーに切り替えます。
      su hdfs
    2. 以前の現在のディレクトリをバックアップします。
      cd /mnt/disk1/hdfs/journal/emr-cluster/
      mv current current.bak
    3. JournalNodeコンポーネントを復元します。
      tar -xvf /tmp/jn-current.tar.gz
  5. EMRコンソールで異常なHDFSノードのJournalNodeコンポーネントを起動し、異常なノードのJournalNodeコンポーネントのログを表示します。
    ログの詳細については、「HDFSサービスログ」をご参照ください。
  6. HDFSコンポーネントのWeb UIでJournalNodeコンポーネントのステータスを表示します。JournalNodeコンポーネントにデータを書き込むことができる場合、復元は成功です。この場合、バックアップされている現在のディレクトリファイル current.bak をクリアできます。
    HDFSコンポーネントのWeb UIで、JournalNodeコンポーネントにデータを書き込むことができるかどうかを確認できます。詳細については、「HDFS の Web UI」をご参照ください。