3
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パッケージのインストール方法を紹介します。

環境

使用したサーバ環境は以下になります。
・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)ibm-lh-client
・Podman version 4.9.4-rhel

事前準備

最新バージョンのDockerまたはPodmanをクライアント環境にインストールしてください。DockerまたはPodmanどちらを選んでもかまいません。具体的は次をご参照ください:Installing ibm-lh-client:Before you begin

今回は、クライアントとして使用するRHELにPodmanをインストールして検証を行いました。クライアントの導入や作業はnon-rootユーザーで行う必要があるので、ここではuser01というユーザーを使用しています。

[user01@client ~]$ podman -v
podman version 4.9.4-rhel

インストール手順

1.必要情報収集

IBM Entitled Registry にアクセスするため、 container software libraryから認証キー(entitlement key)を取得してください。認証キーを使用してIBM Entitled Registryからイメージをローカルシステムにプルすることができます。
Screenshot 2024-10-06 at 17.45.04.png

2.作業ディレクトリと環境変数を設定する

作業ディレクトリと環境変数を設定するために、以下のコード実行する必要があります。

mkdir <install_directory>
cd <install_directory>
export LH_ROOT_DIR=<install_directory>
export IBM_ENTITLEMENT_KEY=<ibm_entitlement_key> 
export LH_RELEASE_TAG=latest
export IBM_LH_TOOLBOX=cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox:$LH_RELEASE_TAG
export LH_REGISTRY=cp.icr.io/cp/watsonx-data
export PROD_USER=cp
export IBM_ICR_IO=cp.icr.io
export DOCKER_EXE=<docker_exe>
export LANG=<lang>

上記のコードは5つのステップに分けることができます。以下で、実際実行した例を使って説明します。

(1)作業ディレクトリの作成

作業ディレクトリ${HOME}/watsonxdataを使用します。${HOME}/watsonxdataを作成して、環境変数LH_ROOT_DIR${HOME}/watsonxdataを設定します。

[user01@client ~]$ mkdir watsonxdata
[user01@client ~]$ cd watsonxdata
[user01@client watsonxdata]$ export LH_ROOT_DIR=${HOME}/watsonxdata

(2)IBM_ENTITLEMENT_KEYの設定

上の必要情報収集で収集した認証キー(entitlement key)を使います。

[user01@client watsonxdata]$ export IBM_ENTITLEMENT_KEY=<ibm_entitlement_key> 

(3)ibm-lh-clientパッケージの導入

今回は最新のCloud Pak for Data を使用するため、ibm-lh-clientパッケージのバージョンはlatestを指定します。本原稿執筆時点はlatestタグはv2.0.3に設定されています。Cloud Pak for Dataバージョンとibm-lh-clientパッケージバージョンはInstalling ibm-lh-client:Procedureの中の対応表"Release tags with Cloud Pak for Data versions"を確認してください。

[user01@client watsonxdata]$ export LH_RELEASE_TAG=latest
[user01@client watsonxdata]$ export IBM_LH_TOOLBOX=cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox:$LH_RELEASE_TAG
[user01@client watsonxdata]$ export LH_REGISTRY=cp.icr.io/cp/watsonx-data
[user01@client watsonxdata]$ export PROD_USER=cp
[user01@client watsonxdata]$ export IBM_ICR_IO=cp.icr.io

(4)コンテナエンジンの設定

今回はPodmanを使用するので、DOCKER_EXEをPodmanに設定しています。

[user01@client watsonxdata]$ export DOCKER_EXE=podman

Dockerを使用している場合は、以下のコマンドを実行してください。

export DOCKER_EXE=docker

(5)環境変数LANGの設定

環境変数LANGは、マルチバイト文字(MBCS)をサポートするためにコンテナに渡されます。LANGが設定されていない場合、デフォルトはen_US.UTF-8と見なされます。日本語環境の場合は次のように指定します。

[user01@client watsonxdata]$ export LANG=ja_JP.utf8

.bashrcexport LANG=ja_JP.utf8を登録しておくと次回ログインする時からexport LANG=ja_JP.utf8が設定されるので便利です。

3.ibm-lh-clientパッケージをコピーする

ibm-lh-clientパッケージをプルします。その後、クラアント環境にコピーします。

[user01@client watsonxdata]$ $DOCKER_EXE pull $IBM_LH_TOOLBOX
[user01@client watsonxdata]$ id=$($DOCKER_EXE create $IBM_LH_TOOLBOX)
[user01@client watsonxdata]$ $DOCKER_EXE cp $id:/opt - > /tmp/pkg.tar
[user01@client watsonxdata]$ $DOCKER_EXE rm $id
[user01@client watsonxdata]$ id=

4.ibm-lh-clientパッケージpkg.tarファイルを解凍する

ibm-lh-clientパッケージpkg.tarファイルを解凍します。

[user01@client watsonxdata]$ tar -xf /tmp/pkg.tar -C /tmp

bom.txtに記載されているChecksumを確認します。

[user01@client watsonxdata]$ cat /tmp/opt/bom.txt
...
Checksum
--------
# cksum /opt/*/*
4114574099 4810 /opt/client/README.txt
1774217242 765216 /opt/client/ibm-lh-client-2.0.3-148-20240912-005600-onprem-v2.0.3.tgz
1619773671 155 /opt/dev/README.txt
4147316610 767487 /opt/dev/ibm-lh-dev-2.0.3-148-20240912-005600-onprem-v2.0.3.tgz

次はcksumコマンドの出力です。bom.txtに記載されているChecksumとcksumコマンドの出力を比較して、内容が同じであることを確認します。

[user01@client watsonxdata]$ cksum /tmp/opt/*/*
1774217242 765216 /tmp/opt/client/ibm-lh-client-2.0.3-148-20240912-005600-onprem-v2.0.3.tgz
4114574099 4810 /tmp/opt/client/README.txt
4147316610 767487 /tmp/opt/dev/ibm-lh-dev-2.0.3-148-20240912-005600-onprem-v2.0.3.tgz
1619773671 155 /tmp/opt/dev/README.txt

ibm-lh-clientパッケージを$LH_ROOT_DIRで指定した${HOME}/watsonxdataという作業ディレクトリに解凍します。

[user01@client watsonxdata]$ tar -xf /tmp/opt/client/ibm-lh-client-*.tgz -C $LH_ROOT_DIR

5.レジストリにログインする

レジストリにログインします。

[user01@client watsonxdata]$ $DOCKER_EXE login ${IBM_ICR_IO} \
> --username=${PROD_USER} \
> --password=${IBM_ENTITLEMENT_KEY}
Login Succeeded!

6.セットアップスクリプトを実行する

最後に、セットアップスクリプトを実行します。

[user01@client watsonxdata]$ $LH_ROOT_DIR/ibm-lh-client/bin/setup --license_acceptance=y --runtime=$DOCKER_EXE
=======   updating configuration =======
creating /home/user01/watsonxdata/ibm-lh-client/localstorage/volumes/infra
==== pulling image for ibm-lh-client-mgmt from cp.icr.io/cp/watsonx-data  ==== 
...
==== pulling image for ibm-lh from cp.icr.io/cp/watsonx-data  ==== 
...
Writing manifest to image destination
...

以上、この6つのステップで、ibm-lh-clientパッケージのインストールが完了しました。

ibm-lh-clientをインストールした後のディレクトリ構造

ibm-lh-clientパッケージが正常にインストールされた後、${HOME}/watsonxdataディレクトリのディレクトリ構造は以下のようになります。

[user01@client watsonxdata]$ tree
.
`-- ibm-lh-client
    |-- bin
    |   |-- backup-restore
    |   |   |-- backup-metadata
    |   |   |-- extract-bucket-data
    |   |   |-- import-bucket-data
    |   |   |-- README.txt
    |   |   `-- restore-lakehouse
    |   |-- bash-run
    |   |-- cert-mgmt
    |   |-- common-utils.sh
    |   |-- connect-lh
    |   |-- dev-sandbox
    |   |-- extract_files.sh
    |   |-- ibm-lh
    |   |-- ibm-lh-client-mgmt
    |   |-- manage-engines
    |   |-- presto-cli
    |   |-- presto-run
    |   |-- python-run
    |   `-- setup
    |-- etc
    |   |-- ...
    |   `-- python-run.conf
    |-- examples
    |   `-- apis
    |       |-- ...
    |       `-- 11-statement.sh
    |-- licenses
    |   |-- ...
    |   `-- notices.txt
    |-- localstorage
    |   `-- volumes
    |       |-- ibm-lh
    |       |-- ibm-lh-client-mgmt
    |       |-- infra
    |       |   |-- ibm-lh-secrets
    |       |   |   `-- LH_TRUSTSTORE_PASSWORD
    |       |   `-- tls
    |       |       |-- aliases
    |       |       |-- cabundle.crt
    |       |       |-- pki
    |       |       |   `-- tls-ca-bundle.pem
    |       |       `-- truststore.jks
    |       |-- lh-cli
    |       |-- presto-cli
    |       `-- presto-run
    |-- README.txt
    `-- run

20 directories, 107 files
   

参考資料

ibm-lh-clientパッケージのインストールについては、Installing ibm-lh-clientを参考にしてください。

3
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
3
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?