2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ibm-lh-clientの設定

Last updated at Posted at 2024-10-25

はじめに

ibm-lh-clientパッケージには、watsonx.dataへのアクセスや、watsonx.dataと連携するアプリケーションを開発するための便利なユーティリティとライブラリが含まれています。

ここでは ibm-lh-clientパッケージを使用してwatsonx.dataのPrestoへ接続するためのエンジンの登録方法を紹介します。

環境

使用したサーバ環境は以下になります。
・Red Hat OpenShift Container Platform 4.14
・IBM Cloud Pak for Data (CP4D) 5.0.3
・IBM watsonx.data 2.0.3
・Presto (Java) v0.286
使用したクラアント環境は以下になります。
・Red Hat Enterprise Linux release 8.10 (Ootpa)
・Podman version 4.9.4-rhel

事前準備

ibm-lh-clientを設定する前に、ibm-lh-clientをインストールして下さい。ibm-lh-clientのインストールについて、次のQiita記事をご参照ください: ibm-lh-clientのインストール。この記事では、ibm-lh-clientパッケージを${HOME}/watsonxdataディレクトリの下にインストールしました。

設定手順

1.必要情報収集

今回ibm-lh-clientパッケージで次の作業を行います。

  • connect-lhを使用してPrestoエンジンを登録設定する
  • cert-mgmtを使用してSSL接続証明書を作成する
  • watsonx.dataへの接続を設定する

そのために、まずは必要な情報を収集します。

(1)watsonx.dataのusernameとpasswordの確認

usernameは、watsonx.dataソフトウェアまたはIBM Cloud Pak for Data (CP4D)上のwatsonx.dataを使用できるユーザーです。passwordはそのユーザーのパスワードです。

(2)Prestoエンジンのhost名の確認

確認方法1: watosnx.dataのインフラストラクチャー・マネージャーで、Prestoエンジンの外部ホストを確認します。この外部ホストは今回使うhost名です。
Screenshot 2024-10-08 at 14.14.32.png

Screenshot 2024-10-08 at 14.20.58.png

確認方法2: ocコマンドをインストールしてあれば、ocコマンドでもPrestoエンジンのhost名を取得可能です。以下の出力のibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.comはhost名です。

[user01@client ~]$ oc get route ibm-lh-lakehouse-presto-01-presto-svc
NAME                                    HOST/PORT                                                                                               PATH   SERVICES                                PORT   TERMINATION   WILDCARD
ibm-lh-lakehouse-presto-01-presto-svc   ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com          ibm-lh-lakehouse-presto-01-presto-svc   8443   reencrypt     None

(3)Prestoエンジンのportの確認

今回デフォルトのportを使います。watsonx.dataソフトウェアおよびIBM Cloud Pak for Data (CP4D)上のwatsonx.dataのデフォルトportは443です。

(4)watsonx.dataのinstance_nameの確認

IBM Cloud Pak for Data (CP4D)のページでインスタンスをクリックし、次のページを開くとインスタンスの名前(instance_name)lakehouseを確認できます。
image.png

Screenshot 2024-10-11 at 14.14.59.png

2.Prestoエンジンを登録設定する

次にibm-lh-clientパッケージのconnect-lhを使用して、接続情報を登録します。connect-lhの構文は次の通りです。

connect-lh --op=add \
--name=<alias> \
--host=<host> \
--port=<port> \
--username=<username> \
--password=<password>

以下の例では、PrestoエンジンにPRESTO01という別名をつけます。

[user01@client ~]$ cd ${HOME}/watsonxdata
[user01@client watsonxdata]$cd ibm-lh-client
[user01@client watsonxdata]$cd bin
[user01@client bin]$./connect-lh --op=add --name=PRESTO01 --host=ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com --port=443 --username=cpadmin --password=XXXX
registering engine PRESTO01 ..
registered PRESTO01.

以下のコマンドで、現在登録されているPrestoエンジンをリストできます。

[user01@client bin]./connect-lh --op=list
PRESTO01

3.cert-mgmtを使用してSSL接続証明書を作成する

ここでは、cert-mgmtを利用してSSL接続証明書を作成します。詳細については、cert-mgmtを確認してください。cert-mgmtの構文は以下の通りです。

./cert-mgmt --op=add --host=<hostname> --port=<port>

以下の例では、上の必要情報収集で収集したhost名とportを使います。

[user01@client bin]$ ./cert-mgmt --op=add --host=ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com --port=443
importing certificate ..
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R11
verify return:1
depth=0 CN = XXXXX.ocp.techzone.ibm.com
verify return:1
DONE
Certificate was added to keystore
ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com:443, Sep 30, 2024, trustedCertEntry,
Certificate fingerprint (SHA-256): C8:94:5D:AC:70:EA:14:37:AB:43:68:4A:FA:35:AD:E8:2B:87:60:15:D3:7D:45:16:4D:ED:DB:B2:81:82:93:FA
/mnt/infra/tls/truststore.jks updated.

注意点:IBM watsonx.data on IBM Cloud に接続する場合、このステップはスキップできます。

4.watsonx.dataへの接続を設定する

watsonx.dataのタイプに応じて、異なるコマンドを利用します。詳細については、Setting up the ibm-lh utility:Configure connectivity to watsonx.data.を確認してださい。今回はIBM watsonx.data on Cloud Pak for Dataを利用しているので、以下のコマンドを利用します。

./ibm-lh config add_cpd --name <instance_name> --host <hostname> --port <port>

以下の例では、上の必要情報収集で収集したinstance_name、host名とportを使います。

[user01@client bin]$ ./ibm-lh config add_cpd --name lakehouse  --host=ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com --port=443
{'component': 'config', 'action': 'add_cpd', 'name': 'lakehouse', 'host': 'ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com', 'port': '443'}

Config file updated with Host : ibm-lh-lakehouse-presto-01-presto-svc-cpd-operands.apps.XXXXX.ocp.techzone.ibm.com and Port : 443

以上、この4つのステップで、ibm-lh-clientの設定が完了しました。

参考資料

ibm-lh-clientの設定について、Setting up the ibm-lh utilityを参考してください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?