3.1.1.2 ランタイム・サーバーの構成

ランタイムには、SparkスタンドアロンまたはHadoop YARNクラスタを使用できます。管理者権限を持つユーザーのみが、Oracle GoldenGate Analyticsでシステム設定を設定できます。

3.1.1.2.1 スタンドアロンSparkランタイム向けの構成

スタンドアロンSparkランタイム向けに構成するには:
  1. 画面の右上隅のユーザー名をクリックします。
  2. 「システム設定」をクリックします。
  3. 「環境」をクリックします。
  4. 「ランタイム・サーバー」Sparkスタンドアロンを選択し、次の詳細を入力します:
    • Spark REST URL: SparkスタンドアロンのREST URLを入力します。SparkスタンドアロンがHAに対応している場合は、アクティブ・ノードとスタンバイ・ノードをカンマで区切ったリストを入力できます。

    • ストレージ: パイプラインのストレージのタイプを選択します。GGSAパイプラインをSparkに送信するには、すべてのSparkノードからアクセス可能なストレージの場所にパイプラインをコピーする必要があります。
      • ストレージ・タイプがWebHDFSの場合:
        • パス: 生成されたSparkパイプラインのコピー先および送信元のWebHDFSディレクトリ(hostname:port/path)を入力します。この場所には、すべてのSparkノードからアクセスできる必要があります。後続の認証セクションで指定するユーザーには、このディレクトリに対する読取り/書込みアクセス権が必要です。

        • HAネームノード: 前述のURLのホスト名が論理HAクラスタを参照している場合、Hostname1:Port, Hostname2:Portの形式でここに実際のネームノードを指定します。

      • ストレージ・タイプがHDFSの場合:
        • パス: パスは<HostOrIPOfNameNode><HDFSパス>のようになります。たとえば、xxx.xxx.xxx.xxx/user/oracle/ggsapipelinesです。Hadoopユーザーには、Write権限が必要です。フォルダが存在しない場合は、自動的に作成されます。

        • HAネームノード: 前述のURLのホスト名が論理HAクラスタを参照している場合、Hostname1:Port, Hostname2:Portの形式でここに実際のネームノードを指定します。

          このフィールドは、ストレージ・タイプがHDFSの場合にのみ適用されます。

      • WebHDFSおよびHDFSストレージ・タイプのHadoop認証:
        • 簡易認証資格証明:
          • 保護ポリシー: ドロップダウン・リストから保護ポリシーを選択します。
          • ユーザー名: Sparkパイプラインの送信に使用するユーザー・アカウントを入力します。このユーザーには、上で指定したパスに対する読取り/書込みアクセス権が必要です。
        • Kerberos認証資格証明:
          • 保護ポリシー: ドロップダウン・リストから保護ポリシーを選択します。
          • Kerberosレルム: Kerberosがユーザー、ホストまたはサービスを認証するドメインを入力します。この値はkrb5.confファイルにあります。
          • Kerberos KDC: キー配布センターが実行されているサーバーを入力します。この値はkrb5.confファイルにあります。
          • プリンシパル: アプリケーション・デプロイメント用にHadoopクラスタに対してGGSA Webアプリケーションを認証するために使用するGGSAサービス・プリンシパルを入力します。このユーザーは、HDFSにGGSAアプリケーションをデプロイするために使用されるフォルダの所有者である必要があります。このユーザーは、yarnノード・マネージャでも作成する必要があります。
          • キータブ: GGSAサービス・プリンシパルに関連するキータブを入力します。
          • Yarnリソース・マネージャ・プリンシパル: yarnプリンシパルを入力します。HadoopクラスタがKerberosで構成されている場合、hdfs、https、yarnなどのhadoopサービスのプリンシパルも作成されます。
      • ストレージ・タイプがNFSの場合:
        パス: パスは/oracle/spark-deployのようになります。

        ノート:

        /oracleが存在する必要があり、存在しない場合はspark-deployが自動的に作成されます。/oracleディレクトリに対するWrite権限が必要です。
  5. Sparkスタンドアロン・マスター・コンソール・ポート: Sparkスタンドアロン・コンソールが実行されるポートを入力します。デフォルトのポートは8080です。

    ノート:

    カンマ区切りのポートの順序は、「パス」に記載されているカンマ区切りのSpark REST URLの順序と一致する必要があります。
  6. Sparkマスター・ユーザー名: Sparkスタンドアロン・サーバーのユーザー名を入力します。
  7. Sparkマスター・パスワード: 「パスワードの変更」をクリックして、Sparkスタンドアロン・サーバーのパスワードを変更します。

    ノート:

    この画面で、Sparkスタンドアロン・サーバーのユーザー名とパスワードを変更できます。デフォルトでは、ユーザー名とパスワードのフィールドは空白のままです。
  8. 「保存」をクリックします。

3.1.1.2.2 Hadoop Yarnランタイム向けの構成

  1. 画面の右上隅のユーザー名をクリックします。
  2. 「システム設定」をクリックします。
  3. 「環境」をクリックします。
  4. 「ランタイム・サーバー」「Yarn」を選択し、次の詳細を入力します:
    • YARNリソース・マネージャのURL: YARNリソース・マネージャが構成されているURLを入力します。

    • ストレージ: パイプラインのストレージのタイプを選択します。GGSAパイプラインをSparkに送信するには、すべてのSparkノードからアクセス可能なストレージの場所にパイプラインをコピーする必要があります。
      • ストレージ・タイプがWebHDFSの場合:
        • パス: 生成されたSparkパイプラインのコピー先および送信元のWebHDFSディレクトリ(hostname:port/path)を入力します。この場所には、すべてのSparkノードからアクセスできる必要があります。後続の認証セクションで指定するユーザーには、このディレクトリに対する読取り/書込みアクセス権が必要です。

        • HA Namenode: HA Namenodeを設定します。前述のURLのホスト名が論理HAクラスタを参照している場合、ここには、Hostname1:Port, Hostname2:Portという書式で実際のnamenodeを指定します。

      • ストレージ・タイプがHDFSの場合:
        • パス: パスは<HostOrIPOfNameNode><HDFSパス>のようになります。たとえば、xxx.xxx.xxx.xxx/user/oracle/ggsapipelinesです。Hadoopユーザーには、Write権限が必要です。フォルダが存在しない場合は、自動的に作成されます。

        • HAネームノード: 前述のURLのホスト名が論理HAクラスタを参照している場合、Hostname1:Port, Hostname2:Portの形式でここに実際のネームノードを指定します。

      • ストレージ・タイプがNFSの場合:
        パス: パスは/oracle/spark-deployのようになります。

        ノート:

        /oracleが存在する必要があり、存在しない場合はspark-deployが自動的に作成されます。/oracleディレクトリに対するWrite権限が必要です。
  5. Hadoop認証:
    • 簡易認証資格証明:
      • 保護ポリシー: ドロップダウン・リストから保護ポリシーを選択します。この値は、クラスタ上の値と一致する必要があります。
      • ユーザー名: Sparkパイプラインの送信に使用するユーザー・アカウントを入力します。このユーザーには、上で指定したパスに対する読取り/書込みアクセス権が必要です。
    • Kerberos認証資格証明:
      • 保護ポリシー: ドロップダウン・リストから保護ポリシーを選択します。この値は、クラスタ上の値と一致する必要があります。
      • Kerberosレルム: Kerberosがユーザー、ホストまたはサービスを認証するドメインを入力します。この値はkrb5.confファイルにあります。
      • Kerberos KDC: キー配布センターが実行されているサーバーを入力します。この値はkrb5.confファイルにあります。
      • プリンシパル: アプリケーション・デプロイメント用にHadoopクラスタに対してGGSA Webアプリケーションを認証するために使用するGGSAサービス・プリンシパルを入力します。このユーザーは、HDFSにGGSAアプリケーションをデプロイするために使用されるフォルダの所有者である必要があります。このユーザーは、yarnノード・マネージャでも作成する必要があります。
      • キータブ: GGSAサービス・プリンシパルに関連するキータブを入力します。
      • Yarnリソース・マネージャ・プリンシパル: yarnプリンシパルを入力します。HadoopクラスタがKerberosで構成されている場合、hdfs、https、yarnなどのhadoopサービスのプリンシパルも作成されます。
  6. Yarnマスター・コンソール・ポート: Yarnマスター・コンソールが実行されるポートを入力します。デフォルト・ポートは8088です
  7. 「保存」をクリックします。

3.1.1.2.3 OCIビッグ・データ・サービス向けの構成

3.1.1.2.3.1 トポロジ

この例では、マーケットプレイスGGSAインスタンスとBDSクラスタは、同じリージョナル・サブネットにあります。GGSAインスタンスには、パブリックIPアドレスを使用してアクセスします。GoldenGate Stream Analyticsインスタンスは、BDSクラスタの要塞ホストとしてサポートします。GGSAインスタンスにsshで接続したら、ssh秘密キーをGGSAインスタンスにコピーして、すべてのBDSノードにsshで接続できます。

ビッグ・データ・サービス・トポロジ

リージョナル・サブネットのデフォルトのセキュリティ・リストでは、エッジ/OSAノードへのトラフィックを双方向で許可する必要があるため、宛先ポート443向けのステートフル・ルールを作成します。また、OSAエッジ・ノードからBDS Cloudera Managerにアクセスするために、ポート7183向けに同様のイングレス・ルールを作成します。次に、イングレス・ルールの例を示します。

イングレス・ルール - 例

後続のステップに従うと、GGSAインスタンスの同じパブリックIPを使用して、Cloudera Managerにアクセスすることもできます。これは、オプションですのでご注意ください。GGSAボックスにSSHで接続し、次のポート転送コマンドを実行すると、GGSAインスタンスからCloudera Managerにアクセスできます:

sudo firewall-cmd --add-forward-port=port=7183:proto=tcp:toaddr=<Cloudera Managerコンソールを実行しているユーティリティ・ノードのIPアドレス>

sudo firewall-cmd --runtime-to-permanent

sudo sysctl net.ipv4.ip_forward=1

sudo iptables -t nat -A PREROUTING -p tcp --dport 7183 -j DNAT --to-destination <Cloudera Managerコンソールを実行しているユーティリティ・ノードのIPアドレス>:7183

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

これで、URL https://<Public IP of GGSA>:7183を使用して、Cloudera Managerにアクセスできるようになります。

3.1.1.2.3.2 前提条件

  1. 次のスクリーンショットに示すように、OCIコンソールからBDSクラスタ・ノードのIPアドレスを取得します。また、次のようにCloudera Managerから、BDSノードのFQDNを取得することもできます。

    Cloudera Manager - BDSノードのFQDV

    Cloudera Manager - BDSノードのFQDV

  2. 次に示すように、Cloudera Managerを使用してYARN仮想コアを再構成します。これにより、クラスタ内で多数のパイプラインを実行できるようになり、実際の物理コアによる制限がなくなります。

    Yarn仮想コアの再構成

    • Container Virtual CPU Cores: YARNノード・マネージャがコンテナに割当て可能な仮想CPUコアの合計数です。これは物理コアによって制限されず、VM standard 2.1でも、32などの高い数値に設定できます。

    • Container Virtual CPU Cores Minimum: YARNスケジューラが1つのコンテナに割り当てるvcoreの最小数です。CQLエンジンは長時間実行されるタスクで、専用のvcoreを必要とするため、これは2に設定してください。

      Container Virtual CPU Cores Maximum: YARNスケジューラが1つのコンテナに割り当てるvcoreの最大数です。これは、4などの2より大きい数値に設定してください。

    ノート:

    この変更では、Cloudera ManagerからYARNクラスタを再起動する必要があります。

3.1.1.2.3.3 Kerberos化されたビッグ・データ・サービス・ランタイムの構成

GGSAの「システム設定」ダイアログで、次の構成を行います:

  1. Kafka Zookeeper接続をOSAノードのプライベートIP、またはGGSAでの内部使用を目的として構成されているブローカのリストに設定します。例: 10.0.0.59:2181
  2. 「ランタイム・サーバー」を「Yarn」に設定します。
  3. Yarnリソース・マネージャのURLを、アクティブなYarnリソース・マネージャを実行しているものを先頭に、すべてのマスター・ノードのプライベートIPに設定します。たとえば、bdsggsamn1.sub03162222470.devintnetwork.oraclevcn.com, bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.comです。
  4. 「ストレージ・タイプ」を「HDFS」に設定します。
  5. 「パス」を<NameNode Nameservice><HDFSパス>に設定します。たとえば、bdsggsasec-ns/user/oracle/ggsapipelinesです。パスが存在しない場合は自動的に作成されますが、Hadoopユーザーには書込み権限が必要です。NameNode Nameserviceは、次のスクリーンショットに示すように、HDFS構成から取得できます。検索フィールドで文字列ネームサービスの検索を使用します。

    パスの設定

  6. HA Namenodeを、アクティブなNameNodeサーバーを実行しているものを先頭に、すべてのマスター・ノードのプライベートIPまたはホスト名(カンマ区切り)に設定します。GGSAの次のバージョンでは、順序付けは不要になります。たとえば、bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.com, bdsggsamn1.sub03162222470.devintnetwork.oraclevcn.comです。
  7. Yarnマスター・コンソール・ポートを8088に設定するか、BDSで構成したとおりに設定します。
  8. Hadoop認証を「Kerberos」に設定します。
  9. 「保護ポリシー」を「プライバシ」に設定します。これは、HDFS構成プロパティのhadoop.rpc.protectionの値と一致する必要があることに注意してください。
  10. 「Kerberosレルム」をBDACLOUDSERVICE.ORACLE.COMに設定します。
  11. 「Kerberos KDC」をBDSマスター・ノード0のプライベートIPまたはホスト名に設定します。たとえば、bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.comです。
  12. 「プリンシパル」をbds@BDACLOUDSERVICE.ORACLE.COMに設定します。Kerberosプリンシパル(bdsなど)を作成し、hadoop管理グループに追加するには、このドキュメントクラスタの最初のマスター・ノードへの接続に関するステップから、HDFSスーパーグループの更新に関するステップまでを参照してください。

    ノート:

    GGSAノードを要塞として使用して、マスター・ノードにホップ/ssh接続できます。ただし、GGSAノードでssh秘密キーを使用できるようにしておく必要があります。ドキュメントの説明に従って、BDSクラスタを再起動します。

    [opc@bdsggsa ~]$ ssh -i id_rsa_private_key opc@bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.com

  13. 次に示すように、新しく作成したプリンシパルがマスター・ノードのKerberosキータブ・ファイルに追加されていることを確認します:

    bdsmn0 # sudo kadmin.local

    kadmin.local: ktadd -k /etc/krb5.keytab bds@BDACLOUDSERVICE.ORACLE.COM

  14. sftpを使用してキータブ・ファイルをフェッチし、同じものをアップロードして「システム設定」のキータブ・フィールドを設定します。
  15. Yarnリソース・マネージャ・プリンシパルを、yarn/<アクティブなリソース・マネージャを実行しているBDS MasterNodeのFQDN>@KerberosRealmという書式で設定します。たとえば、yarn/bdsggsamn1.sub03162222470.devintnetwork.oraclevcn.com@BDACLOUDSERVICE.ORACLE.COMです。

    「システム設定」画面の例:Kerberos化された本番BDSクラスタの「システム設定」の例

3.1.1.2.3.4 Kerberos化されていないビッグ・データ・サービス・ランタイムの構成

GGSAの「システム設定」ダイアログで、次の構成を行います:
  1. Kafka Zookeeper接続をOSAノードのプライベートIP、またはGGSAでの内部使用を目的として構成されているブローカのリストに設定します。例: 10.0.0.59:2181
  2. 「ランタイム・サーバー」を「Yarn」に設定します。
  3. Yarnリソース・マネージャのURLを、BDSマスター・ノードのプライベートIPまたはホスト名に設定します。たとえば、bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.comです。
  4. 「ストレージ・タイプ」を「HDFS」に設定します。
  5. 「パス」を<マスターのプライベートIPまたはホスト><HDFSパス>に設定します。たとえば、10.x.x.x/user/oracle/ggsapipelines、またはbdsggsamn0.sub03162222470.devintnetwork.oraclevcn.com/user/oracle/ggsapipelinesです。
  6. HA Namenodeを、BDSマスター・ノードのプライベートIPまたはホスト名に設定します。たとえば、bdsggsamn0.sub03162222470.devintnetwork.oraclevcn.comです。
  7. Yarnマスター・コンソール・ポートを8088に設定するか、BDSで構成したとおりに設定します
  8. Hadoop認証を「簡易」に設定し、Hadoopの保護ポリシーが表示されている場合は「認証」のままにします
  9. 「ユーザー名」をoracleに設定します。
  10. 「保存」をクリックします。

    Kerberos化されていない開発/テストのBDSクラスタの「システム設定」の例