デプロイメント構成とその図

BDDでは、多くの異なるデプロイメント構成がサポートされます。インストールの前に、ニーズに最も合う構成になるようデプロイメントを構成できます。このトピックでは、デモ目的、開発、本番に適した3種類のデプロイメントについて説明します。

このトピックでは、3種類のデプロイメントについて説明し、その考えられるバリエーションを示しますが、BDDはデータ処理の必要性に応じた任意の構成にデプロイできます。このトピックで説明する構成に限定されません。

次のデプロイメント・オプションについて考えます。

デモ環境用単一ノード・デプロイメント

BDDは、単一の物理または仮想マシンで稼働しているデモ環境にデプロイできます。この構成は、処理できるデータの量に限りがあるため、製品の機能を少量のサンプル索引でデモンストレーションする場合にのみお薦めします。

単一ノード・デプロイメントでは、Hadoop (NameNodeおよび1つのDataNodeを含む)、StudioおよびDgraph Gatewayを含むWebLogic ServerおよびDgraphインスタンスがすべて同じノードでホストされます。

この図は、1つのノードにデプロイされたBig Data Discoveryソフトウェアを示しています。このデプロイメントには、CDH、StudioとDgraph Gatewayを含むWebLogic ServerおよびDgraphが含まれています。

開発環境用2ノード・デプロイメント

BDDは、開発環境用の2つのノードにデプロイできます。この構成では、単一ノード構成よりも多少大きい索引を処理できますが、DgraphまたはStudioサービスの高可用性が提供されず、大量のデータに対する問合せ処理の容量にも限りがあるため、本番には推奨されません。

2ノード構成では、Hadoop (NameNodeおよび1つのDataNodeを含む)は1つ目のノードでホストされます。WebLogic Server (StudioおよびDgraph Gatewayを含む)およびDgraphインスタンスは2つ目のノードでホストされます。

この図は、2つのノードにデプロイされたBig Data Discoveryソフトウェアを示しています。一方のノードでCDHをホストし、他方のノードでStudioとDgraph Gatewayを含むWebLogic ServerおよびDgraphをホストします。

本番環境用6ノード・デプロイメント

本番環境は、スケールに必要なだけの任意の数のノードで構成されます。ただし、少なくとも3つのHadoopノードにBDDがデプロイされた6ノードのクラスタで最大限の可用性が保証されます。

このBDDの6ノード・クラスタ・デプロイメントは、次のようになります。
  • ノード1、2および3でHadoopが実行されます。これらのノードにはBDDもデプロイされています。インストール後、データ処理ジョブはこれらのノードから起動され、他のBDDノードで実行されます。Hadoopノードが3つあることで、BDDサービス(Dgraphによって実行される問合せ処理を含む)の可用性が確実に増します。
  • ノード4および5では、WebLogic ServerとStudioが実行されます。これによってStudioインスタンスの冗長性が最小になります。
  • ノード5および6でDgraphインスタンスが実行されます。これによってBDDクラスタ内にDgraphクラスタが作成され、問合せ処理の可用性が増します。

この図は、6ノードのBig Data Discoveryクラスタ・デプロイメントを示しています。CDHが3つのノードで実行され、WebLogic Serverがそれ以外の2つのノードで実行されています。1つのDgraphインスタンスがWebLogic Serverと併置され、別にDgraphプロセスの実行専用のノードがあります。

注意: ここに示した複数ノード・レイアウトとは異なる複数ノードBDDクラスタを設定することもできます。たとえば、デプロイメント時、各カテゴリ(Hadoopノード、WebLogic Serverノード、Dgraphノード)にノードを追加できます。WebLogic Serverの実行に専用のノードを使用するのではなく、いくつかのノードでHadoopとWebLogic Serverを併置することもできます。同様に、同じノードでHadoopとDgraphを併置することもできます。そのような決定は全体のパフォーマンスに影響する可能性があり、サイトのリソースおよびデプロイメント要件に依存します。このトピック内の「Hadoop、WebLogic ServerおよびDgraphの併置について」の項を参照してください。

ノードの数について

このドキュメントでは、サイジングについての推奨はしません。デプロイメントに対して適切なサイズを決定するには、サイトの固有の要件とともに次のガイドラインを使用します。

重要: BDDをインストールする前にクラスタに含めるWebLogic ServerおよびDgraphの数を決定する必要がありますが、これは再インストールせずに追加することができないためです。ただし、インストール後にHadoopノードを追加できます。詳細は、データ処理ガイドを参照してください。
各カテゴリ(Hadoopノード、Studioを含むWebLogic Serverノード、Dgraphノード)のノードの数に関する大まかなガイダンスを次に示します。
  • Hadoopノード。BDDデプロイメントには、少なくとも1つのHadoopノードを含める必要があります。高可用性を実現するために、3つ以上にすることをお薦めします。(注意: 既存のHadoopクラスタに4つ以上のノードが含まれているかもしれません。ここで説明しているHadoopノードは、BDDもデプロイされているノードです)。BDDインストーラは、クラスタ内の要件を満たすすべてのHadoopノードに自動的にデータ処理をインストールします。
  • WebLogic Serverノード。デプロイメントには、StudioおよびDgraph Gatewayが稼働しているWebLogic Serverノードを少なくとも1つ含める必要があります。Studioインスタンスの推奨数はありませんが、BDDへの同時問合せリクエストを生成するエンド・ユーザーが多い場合、2つのStudioインスタンスを実行する(したがって、2つのWebLogic Serverノードを構成する)のが望ましいです。複数のWebLogic Serverノードがある場合、それらのノードで稼働しているStudioインスタンスに接続される外部ロード・バランサを構成することをお薦めします。インストールの前にWebLogic Serverノードの数をインストーラの構成ファイルに指定する必要があります。
  • Dgraphノード。デプロイメントには、少なくとも1つのDgraphインスタンスを含める必要があります。2つ以上含める場合、DgraphインスタンスはBDDクラスタ内のクラスタとして実行されます。問合せ処理の可用性が増すため、Dgraphsをクラスタにするのが望ましいです。インストールの前にDgraphノードの数をインストーラの構成ファイルに指定する必要があります。

Hadoop、WebLogic ServerおよびDgraphの併置について

クラスタを構成する1つの方法は、異なるコンポーネントを同じノードに併置することです。たとえば、BDDクラスタ・デプロイメントの1つのノードで、Hadoop、Weblogic ServerおよびDgraphの任意の組合せをホストできます(3コンポーネントともホストすることもできます)。

サーバー全体を特定のBDDコンポーネント専用にする必要がないため、コンポーネント併置によってハードウェアをより効率的に使用できます。ただし、これは、併置されたコンポーネント間でメモリーが競合することを意味し、パフォーマンスに悪影響を及ぼす可能性があります。

異なるコンポーネントを同じノードでホストするかどうかは、サイトの本番の要件および各コンポーネントを実行するマシンの容量によります。

可能なコンポーネントの組合せは次のとおりです。

  • DgraphとHadoop。最良のパフォーマンスを得るには、特定のノードをDgraphの実行用(マシンごとに1つのDgraph)にすることをお薦めします。ただし、Hadoop DataNodesでDgraphをホストすることが可能です。DgraphとHadoopを併置する場合、Spark on YARNを実行していないノードを使用することをお薦めします。さらに、Linux cgroups (control groups)およびDgraphのフラグを使用して特定の量のメモリーをDgraphプロセスに割り当て、クラッシュを回避します。Dgraphフラグの詳細は、管理者ガイドを参照してください。
  • DgraphとWebLogic Server。DgraphとWebLogic Serverは同じノードでホストできます。これを使用する場合、消費するメモリーの量が限定されるようWebLogic Serverを構成し、Dgraphプロセスが問合せ処理に十分なリソースにアクセスできるようにします。
  • WebLogic ServerとHadoop。WebLogic ServerとHadoopは併置できます。これを行う場合、消費するメモリーの量が限定されるようWebLogic Serverを構成し、Hadoopが処理に十分なリソースにアクセスできるようにします。