HDInsight 上の Apache Kafka によるデータの高可用性
基になるハードウェア ラック構成を使用して Apache Kafka トピックのパーティションのレプリカを構成する方法を説明します。 この構成により、HDInsight 上の Apache Kafka に格納されているデータの高可用性が確保されます。
Apache Kafka の障害ドメインおよび更新ドメイン
障害ドメインとは、Azure データ センター内にある基になるハードウェアの論理的なグループです。 各障害ドメインは、一般的な電源とネットワーク スイッチを共有します。 HDInsight クラスター内のノードを実装する仮想マシンと管理ディスクは、これらの障害ドメインに分散されます。 このアーキテクチャにより、物理的なハードウェア障害の潜在的な影響が制限されます。
各 Azure リージョンには、特定の数の障害ドメインがあります。 ドメインと、それに含まれる障害ドメインの数の一覧については、「可用性セット」を参照してください。
重要
Kafka は、障害ドメインを認識しません。 Kafka でトピックを作成すると、パーティションのレプリカすべてが同じ障害ドメインに格納される可能性があります。 この問題を解決するために、HDInsight には Kafka パーティション再調整ツールが用意されています。
パーティションのレプリカを再調整するタイミング
Kafka データの最高レベルの可用性を確保するには、次のタイミングでトピックのパーティションのレプリカを再調整する必要があります。
新しいトピックまたはパーティションが作成されたとき
クラスターをスケールアップするとき
レプリケーション係数
重要
3 つの障害ドメインを含む Azure リージョンを使用することと、レプリケーション係数として 3 を使用することをお勧めします。
障害ドメインが 2 つだけのリージョンを使用する必要がある場合は、レプリケーション係数として 4 を使用して、レプリカを 2 つの障害ドメインに均等に分散します。
トピックの作成とレプリケーション係数の設定の例については、Apache HDInsight 上での Kafka の開始に関するドキュメントを参照してください。
パーティションのレプリカを再調整する方法
Apache Kafka パーティション再調整ツールを使用して、選択したトピックを再調整します。 このツールは、SSH セッションから Kafka クラスターのヘッド ノードに対して実行する必要があります。
SSH を使用した HDInsight への接続の詳細については、HDInsight での SSH の使用に関するドキュメントを参照してください。