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

E-MapReduce:よくある質問

最終更新日:Jul 18, 2026

ZooKeeper サービスの安定性、接続数制限、およびデータディレクトリの移行に関する一般的な質問です。

サービスの不安定または予期しない再起動

不安定になる最も一般的な原因は、znode 数が多いことやスナップショットのサイズが大きいことです。ZooKeeper はすべての znode をメモリ上に保持し、ノード間でデータを同期するため、znode やスナップショットが過剰になると安定性が低下します。ベストプラクティスとして、znode 数を 100,000 未満、スナップショットのサイズを 800 MB 未満に保ってください。
  • E-MapReduce コンソールの Monitoring タブで、ご利用の ZooKeeper クラスターの znode 数を確認できます。
  • スナップショットのサイズを確認します。
    1. ZooKeeper サービスの Configure タブで、dataDir パラメーターの値を確認し、ZooKeeper のデータディレクトリを取得します。
    2. ZooKeeper データディレクトリ内のスナップショットのサイズを確認するには、次のコマンドを実行します。
      ls -lrt /mnt/disk1/zookeeper/data/version-2/snapshot*

      znode 数またはスナップショットのサイズが大きすぎる場合は、関連アプリケーションが ZooKeeper を過剰に使用していないか、znode のディストリビューションを調査してください。

データディレクトリの移行

ディスク領域が不足している場合やディスクのパフォーマンスが不十分な場合などに ZooKeeper のデータディレクトリを変更する必要がある場合は、各ノードごとに個別にディレクトリを移行してください。これにより、ZooKeeper サービス全体を停止せずに済みます。
説明 たとえば、このプロシージャではデータディレクトリを /mnt/disk1/zookeeper/data から /mnt/disk2/zookeeper/data に変更します。この例のクラスターでは、master-1-2 ノードがリーダーであり、master-1-1 および master-1-3 ノードがフォロワーです。まずフォロワーノードを移行し、その後リーダーノードを移行します。
  1. データディレクトリを変更して設定を保存します。
    1. ZooKeeper サービスの Configure タブで、dataDir パラメーターを検索し、その値を新しいディレクトリ /mnt/disk2/zookeeper/data に変更します。
    2. Save をクリックします。
    3. 表示されるダイアログボックスで、実行理由を入力し、Save をクリックします。
  2. 設定をデプロイします。
    1. ZooKeeper サービスの Configure タブで、[クライアント構成のデプロイ] をクリックします。
    2. 表示されるダイアログボックスに実行理由を入力し、OK をクリックします。
    3. Confirm ダイアログボックスで、OK をクリックします。
  3. オプション: データディレクトリを確認します。
    1. SSH でクラスターに接続します。詳細については、「クラスターへの接続」をご参照ください。
    2. zoo.cfg 設定ファイル内の dataDir パラメーターの値を確認するには、次のコマンドを実行します。
       cat /etc/emr/zookeeper-conf/zoo.cfg

      出力結果から、データディレクトリが更新されていることを確認できます。

  4. master-1-1 ノードを停止します。
    1. [ステータス] タブで、master-1-1 ノードの **[操作]** 列にある STOP をクリックします。
    2. [クラスターアクションの実行] ダイアログボックスで、実行理由を入力し、OK をクリックします。
    3. Confirm ダイアログボックスで、OK をクリックします。
  5. ディレクトリを移行します。
    1. SSH でクラスターに接続します。詳細については、「クラスターへの接続」をご参照ください。
    2. master-1-1 ノードで次のコマンドを実行し、ディレクトリを移行して必要な権限を設定します。
      sudo rm -rf /mnt/disk2/zookeeper && sudo cp -rf /mnt/disk1/zookeeper /mnt/disk2/zookeeper && sudo chown hadoop:hadoop -R /mnt/disk2/zookeeper
  6. master-1-1 ノードを起動します。
    1. Status タブで、ZookeeperServer の **[操作]** 列にある START をクリックします。
    2. 表示されるダイアログボックスに実行理由を入力し、OK をクリックします。
    3. Confirm ダイアログボックスで、OK をクリックします。

      master-1-1 ノードのヘルスステータスが Good に変わるまで、ページを更新してください。

  7. master-1-3 ノードにログインし、手順 4手順 6 を繰り返します。
  8. master-1-2 ノードにログインし、手順 4手順 6 を繰り返します。
    すべてのノードのヘルスステータスが正常になれば、移行は完了です。
    説明 master-1-2 ノードは元々リーダーでしたが、停止するとフォロワーになり、他の 2 つのノードのいずれかが新しいリーダーとして選出されます。