Denodo サーバー¶
values.yaml の presto.denodoConnector セクションでは、Denodo サーバーへのコネクション詳細を構成します。Denodo は、Denodo 組み込み MPP を使用して クエリを高速化 します。
注釈
Denodo サーバーのクラスタを使用している場合、組み込み MPP の高速化 の手法を利用するために、 そのクラスタのメタデータが外部データベースに保存される ようにクラスタを構成する必要があります。Virtual DataPort サーバーが 1 台のみの環境では、次を実行することでこの制限を回避できます。
SET 'queryOptimization.parallelProcessing.denodoConnector.enableUsingSharedMetadataOnly'='false';
denodoConnector:
server: "//denodo:9999/admin_denodo_mpp"
i18n: "us_utc_iso"
user: "denodo_mpp_user"
password: "d3n0do_MPP_p*d"
chunkSize: 100000
chunkTimeout: 90000
queryTimeout: 900000
ssl: false
trustStore: ""
trustStorePassword: ""
infrastructureProvider: ""
infrastructureRegion: ""
server: Denodo サーバーの URI を``//<ip_or_hostname>:<port>/admin_denodo_mpp`` という形式で指定します。Denodo 組み込み MPP の Kubernetes クラスタから Denodo サーバーにアクセスできることを確認してください。
user: Denodo ユーザー。デフォルトは
denodo_mpp_userです。password:
denodo_mpp_userの Denodo パスワード。パスワードは、 Denodo パスワードポリシー に準拠している必要があります。
パスワードをプレーンテキストのまま入力するのではなく、 暗号化した パスワードを指定することをお勧めします。
<DENODO_HOME>/bin/encrypt_password.shスクリプトを使用すると、パスワードを暗号化できます。暗号化したパスワードを指定する場合、以下に示すように、先頭にencrypted:を付加します。denodoConnector: password:"encrypted:<encrypted_password>"
infrastructureProvider: 組み込み MPP および Denodo サーバーが動作しているインフラストラクチャプロバイダーの名前 (オンプレミス、AWS、Azure、Google Cloud、Alibaba など)。監視目的です。
infrastructureRegion: 組み込み MPP および Denodo サーバーが動作しているインフラストラクチャプロバイダー領域の名前。監視目的です。
SSL/TLS が有効化された Denodo¶
Denodo サーバーで SSL を有効化する場合、ssl プロパティを true に設定する必要があります。
ssl: Denodo サーバーで SSL を有効にするかどうかを示します。
denodoConnector: ssl: true
Denodo の証明書¶
Denodo サーバーが使用する証明書をインポートする必要があるのは、その証明書が、自己署名されているか、または組み込み MPP のトラストストア内に存在しないプライベート認証機関によって署名されている場合です。
推奨する証明書のインポート方法は、証明書を prestocluster\presto\secrets\certs ディレクトリに追加する方法です。こうすると、証明書が組み込み MPP のトラストストアに自動的にインポートされます。
証明書が正しくインポートされたことを確認するには、 kubectl logs <presto-coordinator pod> -c init-cacert コマンドを使用してログをチェックします。
成功した場合、メッセージは次のようになります。
Adding /opt/certs/denodo_server.cer to keystore
Certificate was added to keystore
失敗した場合、メッセージに次のようなエラーが表示されます。
Adding /opt/certs/denodo_server.cer to keystore
keytool error\: java.lang.Exception: Input not an X.509 certificate
証明書のインポート時にエラーが発生した場合、 kubectl get pods を実行すると、ポッドに Init:Error や Init:CrashLoopBackOff のようなエラー状態が表示されます。
GET PODS
NAME READY STATUS RESTARTS AGE
presto-coordinator-fdbd79df5-p77ll 0/1 Init:Error 1 (2s ago) 3s
presto-worker-76cf6864b5-jxrxh 0/1 Init:Error 1 (2s ago) 3s
...
presto-coordinator-fdbd79df5-p77ll 0/1 Init:CrashLoopBackOff 1 (12s ago) 14s
presto-worker-76cf6864b5-jxrxh 0/1 Init:CrashLoopBackOff 1 (13s ago) 15s
その他のオプションとしては、Denodo サーバーが使用する証明書を含むトラストストアファイルを presto ディレクトリにコピーして、そのファイル名を trustStore パラメータに設定します。
trustStore: このパラメータを構成する必要があるのは、Denodo サーバーが使用する証明書が、自己署名されているか、または組み込み MPP のトラストストア内に存在しないプライベート認証機関によって署名されている場合のみです。
この場合、Denodo サーバーが使用する証明書を含むトラストストアファイルを
prestoディレクトリにコピーして、そのファイル名をtrustStoreパラメータに設定します。trustStorePassword:
trustStoreプロパティが構成されている場合のみ、トラストストアのパスワードを設定します。denodoConnector: trustStore: "cacerts" trustStorePassword: "changeit"
