インストールおよびアップグレードガイド > TDV Dockerコンテナー > ランタイムTDVコンテナー構成: 一般的な例
 
ランタイムTDVコンテナー構成: 一般的な例
このセクションでは、次のトピックについて説明します。
TDV管理者パスワードの変更(コンテナーの実行中)
TDVベースポートの変更
TDV Serverのメモリー設定の変更
ローカルの永続ファイルデータソース(csv、xml、txtなど)の外部ボリュームの構成
サードパーティー製JDBCドライバー(タイプ4)を使用したデータソースの構成
サードパーティー製JDBCドライバー(タイプ3)を使用したデータソースの構成
TDV管理者パスワードの変更(コンテナーの実行中)
TDV Dockerコンテナーの管理者パスワードを変更するには、TDV Studioクライアントを使用する必要があります。
: デフォルトTDV Dockerの管理者ユーザーの「admin」パスワードは、特定のTDVリリースのDockerfile.tdvで定義されています。
パスワードを変更するには、次の手順に従います。
1.TDV Studio(TDV Dockerコンテナーと同じバージョンのTDV)を使用して、TDV Dockerコンテナーに接続します。TDV管理者ユーザー「admin」とTDV管理者パスワード、および適切なTDVベースポートを使用して、TDV Studioにログインします。
2.TDV Studioクライアントメニューオプションの[File(ファイル)]タブを選択し、[Change Password(パスワードの変更)]を選択します。
3.新しいポップアップダイアログウィンドウで、現在のTDV管理者ユーザー「admin」ユーザーパスワードと新しいパスワードを入力します。完了したら、[OK]をクリックします。
4.TDV Studioクライアントはクライアントからログアウトせず、新しいログインダイアログが表示されます。新しいTDV管理者ユーザー「admin」パスワードを使用して再度ログインし、更新を確認します。
TDVベースポートの変更
TDV Dockerコンテナーのベースポートを変更するには、TDVを再構成し、新しいTDVコンテナーを作成する必要があります。
例(ベースポートを9400から10400に変更):
1) TDV Studio(TDV Dockerコンテナーと同じバージョンのTDV)を使用して、TDV Dockerコンテナーに接続します。TDV管理者ユーザー「admin」とTDV管理者パスワード、および適切なTDVベースポートを使用して、TDV Studioにログインします。
2) [Administration(管理)] > [Configuration(構成)]に移動します
3) 「Port (」を検索します。
4) 検索結果から、[Port (On Server Restart): 9400(ポート(サーバーの再起動時): 9400)]を選択します。
5) ベースポートの値を「10400」に変更します。変更を適用します。
: [Port (Current)(ポート(現在))]には、現在のTDV Serverの基本ポートの構成が表示されます。
[Port (On Server Restart)(ポート(サーバーの再起動時))]に将来のTDV Serverの基本ポート構成が示されます。ただし、これはTDV Serverを再起動したときにのみ有効になります。
6) ここで、[OK]ボタンをクリックしてポップアップウィンドウを閉じます。
7) TDV Studioクライアントからログアウトします。
8) TDV Serverが実行されているTDV Dockerコンテナーを停止します。
docker stop <tdv-container-name>)
9) 新しいベースポートを使用して新しいTDV Dockerコンテナーを起動し、手順8のコンテナーに使用されたTDV Dockerボリュームを再利用します。
docker run -itd -p 10300:10300 -p 10301:10301 -p 10302:10302 -p 10303:10303 -p 10304:10304 -p 10305:10305 -p 10306:10306 -p 10400:10400 -p 10401:10401 -p 10402:10402 -p 10403:10403 --mount type=volume,source=tdv-vol,target=/opt/TIBCO --cpus=2.000 -m=8g --name tdv_new myrepo/tdv:8.3 tdv.server
 
: 上記の例では、有効なtdv-vol、デフォルトのDockerネットワークブリッジがDockerホストで機能し、有効なTDV Dockerイメージがすでに存在していることを前提としています。
また、TDVコンテナーボリュームを再利用されることを予想しています。そうでないと、ベースポートやその他のTDVメタデータの変更が失われます。基本的に、新しいTDVボリュームを指定すると、TDVコンテナーは、TDV Dockerイメージのデフォルト(つまり、デフォルトの「admin」ユーザーパスワード、ベースポート、およびサーバー設定)に基づいて、まったく新しいデフォルトのTDVコンテナーを作成します。
TDV Serverのメモリー設定の変更
TDV Dockerコンテナーのメモリー設定を変更するには、TDVを再構成し、新しいTDVコンテナーを作成する必要があります。
例(サーバーメモリを8,192メガバイト(8 GB)から16,384メガバイト(16 GB)に変更:
1) TDV Studio(TDV Dockerコンテナーと同じバージョンのTDV)を使用して、TDV Dockerコンテナーに接続します。TDV管理者ユーザー「admin」とTDV管理者パスワード、および適切なTDVベースポートを使用して、TDV Studioにログインします。
2) [Administration(管理)]> [Configuration(構成)]に移動します。
3) 「Total Available Memory (」を検索します。
4) 検索結果で、[Total Available Memory (On Server Restart): 4096 Mbytes(使用可能なメモリーの合計(Server再起動時): 4096メガバイト)]を選択します。
5) ベースポートの値を「8192」に変更します。変更を適用します。
注: [Total Available Memory (Current)(使用可能なメモリーの合計(現在))]には、現在のTDV Serverのメモリー構成が表示されます。
[Total Available Memory (On Server Restart)(使用可能なメモリーの合計(Server再起動時))]には、将来のTDV Serverのメモリー構成が表示されます。ただし、これはTDV Serverを再起動したときにのみ有効になります。
6) [OK]ボタンをクリックして、ポップアップウィンドウを閉じます。
7) TDV Studioクライアントからログアウトします。
8) TDV Serverを実行しているTDV Dockerコンテナーを停止します。
docker stop <tdv-container-name>
9) ここで、新しいサーバーメモリー値を使用して新しいTDV Dockerコンテナーを起動し、手順8のコンテナーに使用されたTDV Dockerボリュームを再利用します。
\docker run -itd -p 10300:10300 -p 10301:10301 -p 10302:10302 -p 10303:10303 -p 10304:10304 -p 10305:10305 -p 10306:10306 -p 10400:10400 -p 10401:10401 -p 10402:10402 -p 10403:10403 --mount type=volume,source=tdv-vol,target=/opt/TIBCO --cpus=2.000 -m=16g --name tdv_new myrepo/tdv:8.3 tdv.server
 
: 上記の例では、有効なtdv-vol、デフォルトのDockerネットワークブリッジがDockerホストで機能し、有効なTDV Dockerイメージがすでに存在していることを前提としています。
また、TDVコンテナーボリュームを再利用することも期待されます。そうしないと、サーバーメモリーやその他のTDVメタデータの変更が失われます。基本的に、新しいTDVボリュームを指定すると、TDVコンテナーは、TDV Dockerイメージのデフォルト(つまり、デフォルトの「admin」ユーザーパスワード、ベースポート、およびサーバー設定)に基づいて、まったく新しいデフォルトのTDVコンテナーを作成します。
ローカルの永続ファイルデータソース(csv、xml、txtなど)の外部ボリュームの構成
TDV Dockerコンテナーが、ローカルに永続化されたフラットファイルデータソースからデータをイントロスペクトおよび照会できるようにするには、それらのファイルをTDV Dockerコンテナーのボリュームに転送する必要があります。
例(TDVコンテナーのボリュームに保存されているフラットファイルcsvファイルをイントロスペクトする):
1. sudo cp <flat-file-csv> /var/lib/docker/volumes/<tdv-container-volume-name>/_data/TDV_Server_<tdv-version>/tmp
注: この例では、有効なtdv-vol、デフォルトのDockerネットワークブリッジがDockerホストで機能し、有効なTDV Dockerコンテナーがすでに存在していて実行されていることを前提としています。
<tdv-container-volume-name>に関する詳細については、「参考資料:」を参照してください。
2. docker exec -it <tdv-container-name> ls -al TDV*/tmp/*.csv # TDVコンテナーが新しいファイルを確認できることを検証します。
3.TDV Studio Clientを使用して、新しいcsvファイルをイントロスペクトし、照会します。
- [File(ファイル)] -> [New(新規)] -> [Data Source(データソース)] -> [File-Delimited(ファイル区切り)]に移動します。
- [name(名前)]を指定し、[Local File System(ローカルファイルシステム)]の[Root Path(ルートパス)]に/opt/TIBCO/TDV_Server_<tdv-version>を選択します。
- 他のすべての設定はデフォルト値のままにします。
- [Create & Introspect(作成とイントロスペクト)]ボタンをクリックします。
- 「name」データソースを開きます。[Show Contents(コンテンツを表示)]をクリックして、csvファイルデータソースのデータを照会します。
サードパーティー製JDBCドライバー(タイプ4)を使用したデータソースの構成
TDVデータソースには、サードパーティー製のJDBCドライバー(タイプ4)が必要な場合があります。
このセクションでは、このようなドライバーをTDV Dockerコンテナーにインストールする方法について説明します。
例(Oracle 11g用のOracleサードパーティー製JDBCタイプ4ドライバーをインストールする):
1.最新のOracle 12g JDBCドライバー(タイプ4)ドライバー(ojdbc10.jarやxdb.jarなど)を見つけます。
このドライバーの入手先およびTDVコンテナー用に構成する方法の詳細については、『Oracle Adapter Guide』を参照してください。
2.TDV Serverを実行しているTDV Dockerコンテナーを停止します
docker stop <tdv-container-name>
3.TDVコンテナーにOracle JDBCタイプ4ドライバーをインストールします。
sudo cp ojdbc10.jar /var/lib/docker/volumes/<tdv-container-volume-name>/_data/TDV_Server_<tdv-version>/conf/adapters/system/oracle_19c_thin_driver
 
sudo cp xdb.jar /var/lib/docker/volumes/<tdv-container-volume-name>/_data/TDV_Server_<tdv-version>/conf/adapters/system/oracle_19c_thin_driver
注: 上記の例では、有効なtdv-vol、デフォルトのDockerネットワークブリッジがDockerホストで機能し、有効なTDV Dockerコンテナーが存在し、実行されていないことを前提としています。
<tdv-container-volume-name>に関する詳細については、「参考資料:」を参照してください。
4.TDV Serverが実行されているTDV Dockerコンテナーを起動します。
docker start <tdv-container-name>
5.TDV Dockerコンテナーに新しいファイルがあることを確認します。
docker exec -it <tdv-container-name> ls -al TDV*/conf/adapters/system/oracle_19c_thin_driver/
6.TDV Dockerコンテナーのサーバーログで、「Oracle 19c(シンドライバー)」DVアダプター用のJDBCドライバーがインストールされていることを確認します。
docker exec -it <tdv-container-name> /bin/bash
$ cd TDV*/logs
$ grep -i "Oracle 19c" cs_server.log
7.手順6の出力には、「Oracle 19c」DVアダプターのロードの前後が表示されます。インストールが成功すると、「Oracle 19c」DVアダプター用のサードパーティー製ドライバーがインストールされる前に表示された次の「has not been installed(インストールされていません)」のメッセージ(以下に表示)の代わりに、DVアダプターに「loaded(ロード済み)」メッセージが表示されます。
INFO [main] 2020-03-30 22:07:51.134 +0000 DbUtil - The adapter for 'Oracle 19c (Thin Driver)' has not been installed. For details on adapter installation, see the Installation Guide.
インストール成功のサンプルメッセージ:
INFO [main] 2020-03-30 17:11:08.222 -0700 JdbcDriverClassLoaderUtil - Adapter: Oracle 19c (Thin Driver) loaded from /opt/TIBCO/TDV_Server_<tdv-version>/conf/adapters/system/oracle_19c_thin_driver
8.「loaded(ロード済み)」のメッセージが表示されたら、Oracle 19c DVアダプターからデータを作成、イントロスペクト、およびロードできます。
サードパーティー製JDBCドライバー(タイプ3)を使用したデータソースの構成
TDVデータソースには、サードパーティー製のJDBCドライバー(タイプ4)が必要な場合があります。このセクションでは、このようなドライバーをTDV Dockerコンテナーにインストールする方法について説明します。
例(Linux x64プラットフォーム用のSAP JCoサードパーティー製JDBCタイプ3ドライバーをインストールする)
1.SAPからダウンロードした最新のSAP JCo JDBCタイプ3ドライバーを検索します。
そのドライバーをダウンロードする場所の詳細については、『TDVユーザーガイド(TDV User Guide)』の「SAP Javaコネクターライブラリーのインストール(Installing the SAP Java Connector Library)」のセクションを参照してください。
2.SAPからSAP JCo JDBCタイプ3ドライバー(linux x64)をTDVコンテナーにインストールします。このドライバーのLinux x64バージョンのインストール方法の詳細については、『TDVユーザーガイド(TDV User Guide)』の「UNIXへのSAP JCoのインストール(Installing SAP JCo on UNIX)」のセクションを参照してください。
sudo cp <sap-cjo-tgz-file> /var/lib/docker/volumes/<tdv-container-volume-name>/_data/TDV_Server_<tdv-version>/tmp
: 上記の例では、有効なtdv-vol、デフォルトのDockerネットワークブリッジがDockerホストで機能し、有効なTDV Dockerコンテナーが存在していて実行されていることを前提としています。
<tdv-container-volume-name>に関する詳細については、「参考資料:」を参照してください。
3.次のコマンドを実行します。
docker exec -it <tdv-container-name> /bin/bash
$ cd TDV*/jdk
$ ./bin/jlink --module-path jmods --add-modules java.desktop --output ../jre
$ cd ../tmp
$ tar zxvpf <sap-jco-tgz-file>
$ mkdir -p ../jre/lib/ext
$ cp sapjco3.jar ../jre/lib/ext
$ mkdir -p ../jre/lib/amd64
$ cp libsapjco3.so ../jre/lib/amd64
$ cd /opt/TIBCO/TDV_Server_<tdv-verson>
$ export LD_LIBRARY_PATH=/opt/TIBCO/TDV_Server_<tdv-version>/jre/lib/amd64
$./jdk/bin/java -Djava.library.path=$LD_LIBRARY_PATH -jar jre/lib/ext/sapjco3.jar
このSAP JCoテストコマンドの出力には、このSAP JCoドライバーに関するバージョン情報が表示されます。この時点ではエラーメッセージは表示されないはずです。
4.TDV Dockerコンテナーを停止します。
docker stop <tdv-container-name>
5.TDV Dockerコンテナーを起動します。
docker start <tdv-container-name>
6.TDV Dockerコンテナーのサーバーログをチェックして、「SAP」DVアダプター用のJDBCドライバーがインストールされていることを確認します。
docker exec -it <tdv-container-name> /bin/bash
$ cd TDV*/logs
$ grep -i "SAP" cs_server.log
7.手順6の出力には、「SAP」DVアダプターのロードの前後が表示されます。インストールが成功すると、DVアダプターには、次は「has not been installed(インストールされていません)」というメッセージではなく、「loaded(ロード済み)」というメッセージが表示されます。
INFO [main] 2020-03-30 22:07:51.134 +0000 DbUtil - The adapter for 'SAP' has not been installed. For details on adapter installation, see the Installation Guide.
「SAP」TDVアダプター用にサードパーティー製ドライバーをインストールすると、次のメッセージが表示されます。
 
INFO [main] 2020-03-30 17:11:08.222 -0700 JdbcDriverClassLoaderUtil - Adapter: SAP loaded from /opt/TIBCO/TDV_Server_<tdv-version>/apps/dlm/app_ds_sap
8.「loaded(ロード済み)」というメッセージが表示されたら、SAP DVアダプターからデータを作成、イントロスペクト、およびロードできます。