Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Db2 Warehouse SMP構成 導入ガイド 20180119

234 views

Published on

Db2 Warehouseは分析用途に最適化されたDockerコンテナで提供されるDWHソフトウェアアプライアンスです。高速性、簡易性、柔軟性に優れた特長を持つプライベートクラウド向けデータ分析基盤です。本ガイドはDb2 Warehouse SMP(シングルノード構成)の導入手順書です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Db2 Warehouse SMP構成 導入ガイド 20180119

  1. 1. IBM Cloud ⽇本アイ・ビー・エム株式会社 2018年01⽉19⽇版 Db2 Warehouse v2.3 SMP構成(シングルノード) 導⼊ガイド x86版
  2. 2. IBM Cloud © 2017 IBM Corporation 2 注意事項 本資料掲載事項は、ある特定の環境・使⽤状況においての正確性がIBMによって確認されていますが、すべての環境にお いて同様の結果が得られる保証はありません。これらの製品を本番環境に適⽤する際には、事前に検証確認を実施いただ くようにお願いします。 本導⼊⼿順書は Db2 Warehouse v2.3をベースに検証を実施した内容を元に作成しています。必要に応じ、 下記最新マニュアルを確認の上、作業を実施してください。 Db2 Warehouse Deploy (英語版) https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/local_setup.html Db2 Warehouse のデプロイ (⽇本語版) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/local_setup.html 本資料に関しての問い合わせ、案件に関する相談についてはお客様/BP様 担当IBM営業もしくは下記までご連絡ください。 IBM Analytics Technical Sales 榎本康孝(Emoto Yasutaka ) 連絡先: e33119@jp.ibm.com ※IBM Boxサイトから直接評価版 Db2 Warehouse コンテナイメージの⼊⼿が場合も上記までご連絡ください。 (Boxサイトからのダウンロードに際してはIBM ID情報が必須となります)
  3. 3. IBM Cloud © 2017 IBM Corporation ⽬次 3 • Db2 Warehouse 概要 • Db2 Warehouse アーキテクチャ概要 • Db2 Warehouse 導⼊前提要件 • Db2 Warehouse 導⼊⼿順 • Db2 Warehouse コンテナ起動停⽌⽅法 • Db2 Warehouse Webコンソール概要 • Db2 Warehouse のユーザー管理 • Db2 Warehouse への接続⽅法 • Db2 Warehouse クライアントコンテナ • 参考資料
  4. 4. IBM Cloud © 2017 IBM Corporation 4 Db2 Warehouse 概要 スモールスタートから⼤規模構成(複数ノードによるMPP構成)まで簡単かつ柔軟に スケールアップ&アウトによる拡張・縮⼩が可能。様々なデータストア(RDB, Hadoop) とのデータ移動、連携機能により、データウェアハウスのキャパシティを拡張。 伸縮⾃在のスケーラビリティ Dockerコンテナイメージで配布され、迅速かつ簡易にDWH環境そのものを 配置可能(Download & Deploy)。コンテナ単位のポータビリティにより、 オンプレミスからあらゆるクラウド環境への移動をシンプルに実現。 ハイブリッド & マルチクラウド対応 インメモリテクノロジーとMPP並列処理により、DBチューニングの⼿間をかけずに 分析処理を⼤幅に⾼速化。DWHとSparkの緊密な統合により、機械学習処理において 時間のかかるデータの準備、モデル構築作業を短縮化します。 圧倒的なパフォーマンスをシンプルに実現 Db2 Warehouseは分析⽤途に予め最適化されたDockerコンテナで提供されたプライベートクラウド向けDWH SWアプライア ンスです。場所を選ばない迅速な配置、伸縮⾃在スケーラビリティ、分析ワークロードの⾼速化を簡易性を持って実現します。 Db2 Warehouse
  5. 5. IBM Cloud © 2017 IBM Corporation 5 ※jupyter notebook & R StudioはDb2 Warehouse ⽤の構成されたコンテナを別途docker pull & runで構成 ホストサーバー ホストサーバー ホストサーバー Docker Engine on Linux上でIBM提供のコンテナーを稼働する Linux OS Docker engine LDAP ファイルシステム Linux プロセス Db2 Warehouse DB Engine Db2 Warehouse コンテナー Fluid Query DSM Web console Docker Store/Hub IBM Boxor Docker Store/Hub上のリポジトリーから取得もしくは IBMのBoxからダウンロード Ø データベース・エンジン Ø データベース管理コンソールモニター Ø ユーザー管理 Ø データロード機能 Ø オブジェクト管理 Ø SparkやRのOSS分析エンジン統合 Ø ホストサーバー Ø Docker環境 Ø DBデータを保持するファイルシステム Db2 Warehouseコンテナが提供する部分 事前に⽤意する部分 Db2 Warehouse アーキテクチャ概要 Apache Spark
  6. 6. IBM Cloud © 2017 IBM Corporation 6 • DockerホストのHW、OS、クラスタファイルシステム • DockerホストOSのセキュリティアップデート • Dockerエンジンの管理 • Db2 Warehouse コンテナの管理、監視 • Db2 Warehouse コンテナ外のコンポーネント(運⽤監視エージェント等) Dockerホスト (クライアント管理対象) • Db2 Warehouse Dockerコンテナとして提供されるDb2 Warehouse ソフトウェアスタック • 新規コンテナイメージは現在使⽤中のコンテナを停⽌、リネームし、切り替えることで新しい Db2 Warehouseバージョンのコンテナに切替が可能。 • Dockerホスト1台につき、原則Db2 Warehouseコンテナは1つ (2017/06/19時点) Db2 Warehouse コンテナ (IBMより提供されるもの) Docker Host & Docker コンテナについて ※Docker Engine⾃体の保守サポートはIBM Db2 Warehouseの保守サポートには含まれていません。 Docker Engineのサポートが必要な際には、Docker保守提供ベンダーもしくはDocker社よりご契約頂く必要がございます。
  7. 7. IBM Cloud © 2017 IBM Corporation 7 ※1 共⽤ファイルシステムに関する詳細は以下を参照ください :Shared file systems for Db2 Warehouse Db2 Warehouseの前提HW※1 •60000-60060 FCM通信 (MPPの場合) •25000-25999 Apache Spark •50022 SSH/コンテナー OSへの接続 •50001 SSL使⽤時のDB接続 •50000 SSL⾮使⽤時の DB接続 •9300 web コンソールステータス •9929 通信テスト⽤ •8443 web コンソール(HTTPS) •5000 System Manager •389 LDAP •22 SSH/ホストOSへの接続 Db2 Warehouseで使⽤されるポート Db2 Warehouse 導⼊前提要件 コンポーネント SMP (シングルノード) MPP (マルチノード) 最⼩3ノードから プロセッサー (物理/仮想) 2.0 GHz × 1 core 2.0 GHz × 8 core (各ノード) メモリー 8 GB RAM 64 GB RAM (各ノード) OS領域 Db2 Warehouse 領域(OS) 最⼩25GB以上 ( / ) ※実稼働:100GB推奨 最⼩25GB以上 ( /var/lib/docker ) ※実稼働:50GB以上 最⼩25GB以上 (各ノード: / ) ※実稼働:100GB推奨 最⼩25GB以上 (各ノード: /var/lib/docker) ※実稼働:50GB以上 Db2 Warehouse 領域(DB) ファイルシステム 最⼩50GB / 推奨 200GB (/mnt/clusterfs) マウントポイント:/mnt/clusterfs ※ストレージサイズは格納データ量に依存 最⼩50GB / 推奨500GB (/mnt/clusterfs) POSIX準拠クラスターファイルシステム 例:Spectrum Scale(旧GPFS), GFS2,VxFS, NFS ※1 マウントポイントは/mnt/clusterfs ※ストレージサイズは格納データ量に依存 Db2 Warehouse 前提条件(⽇本語版) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/local_prereqs-Linux.html
  8. 8. IBM Cloud © 2017 IBM Corporation 8 ②.MPP構成(マルチノード) 共有ストレージ型 ①.SMP構成 シングルノード型 ②.MPP構成(マルチノード) ローカルストレージ型 • 共有ファイルシステム不要 • 任意のファイルシステム • HA構成 • 共有ディスク型HA構成 • ディスクミラー型HA構成 • 共有ファイルシステム必須 • GPFS/VxFS/GFS2/NFS • posix準拠クラスタファイルシステム • 外部共有ストレージ/NASを構成 • サーバー、ディスクを個別に拡張可能 • 最も柔軟性が⾼く、推奨構成案 • クラスタファイルシステム必須 • GPFS-FPO等 • Posix準拠クラスタファイルシステム • ローカルディスクを共有 • ノード拡張とディスク拡張が同時に 実施。拡張単位が⼤きくなる Db2 Warehouse SMP/MPP構成パターン Storage technologies for Db2 Warehouse https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/local_filesystem.html#local_filesystem
  9. 9. IBM Cloud © 2017 IBM Corporation 9 Db2 Warehouse HA構成パターン HA構成 例1 ⾮ストレージ共有型 HA構成 例2 共有ストレージ型 HA構成 例3 共有ストレージ型 VMware VMware Linux Linux クラスタSW Linux クラスタSW Linux Linux • 本番/待機に同⼀データをロード • ログレプリケーションによる同期 • クラスタSWによる共有ストレージ を使⽤したHA構成 • VMwareHA共有ストレージ構成 ※TSAを含めた提案に際しては最終的TCTを受けていただくことを推奨します。HA構成やDR構成検討の際には Db2 Warehouse 販売代理店もしくはTechnical Salesのアセスを受けて頂き構成案確定ください。 Db2 Wh コンテナ (本番) Db2 Wh コンテナ (待機) Db2 Wh コンテナ (本番) Db2 Wh コンテナ (待機) Db2 Wh コンテナ (本番)
  10. 10. IBM Cloud © 2017 IBM Corporation オペレーティング・システムの前提条件 10 該当するオペレーティング・システムをセットアップし、保守します。オペレーティング・システムの保守には、 セキュリティー・フィックスの適⽤が含まれます。Db2 Warehouse は、Docker のサポート対象のすべてのLinux ディスト リビューションで実⾏できますが、制約事項が 1 つあります。Ubuntu 14.04 を使⽤する場合は、Linux カーネルの バージョンが 3.16 以降でなければなりません。 Docker前提条件 最新の Docker エンジン (CE または EE) のライセンスを取得し、インストールします。Docker のサポート対象 Docker エンジンを使⽤することも、Ubuntu のサポート対象 Docker エンジン (docker.io) を使⽤することもできます。Docker のサポート対象 Docker エンジンをインストールするには、Docker サイトを参照してください。 RHEL または CentOS を使⽤する場合は、デバイス・マッパー・ストレージ・ドライバー (devicemapper) を使⽤する 必要があります。他のストレージ・ドライバーは使⽤できません。 実稼働環境で devicemapper を使⽤する場合は、direct-lvm モードを構成する必要があります。詳しくは、Configure direct-lvm mode for productionを参照してください。 IBM は Db2 Warehouse Docker コンテナーをサポートしますが、Dockerエンジン⾃体のサポートが必要な場合は別途 Db2 Warehouseライセンスとは別にご購⼊頂く必要がございます。
  11. 11. IBM Cloud © 2017 IBM Corporation ネットワークの前提条件 11 すべてのノード・ホストが⾃ホストおよび相⼿ホストの /etc/hosts ファイルに定義されている ことを確認します。各 /etc/hosts ファイルには次の形式を使⽤します。 IP FQDN alias1 alias2 ... aliasN • IP は、ノードの IP アドレスです。 • FQDN は、完全修飾ドメイン名です (IP アドレスごとに 1 つのみ)。 • alias1 alias2 ... aliasN は、ホストに固有の 1 つ以上の別名です。 192.0.2.214 Db2whblu1.example.com Db2whblu1 次に例を⽰します。 外部 LDAP を使⽤する場合は、外部 LDAP サーバーのホスト名をすべてのノードから解決できることも確認する必要があ ります。例えば、各ノード・ホストの /etc/hosts ファイルに外部 LDAP サーバーを定義する⽅法があります。この⽅法を 使⽤する場合は、Db2 Warehouse をデプロイする前に、この段階で完了しておく必要があります。Db2 Warehouse を デプロイした後に /etc/hosts ファイルに外部 LDAP サーバーを定義した場合は、Db2 Warehouse を再デプロイする必要 があります。外部 LDAP のセットアップについて詳しくは、『IBM Db2 Warehouse ⽤の外部 LDAP サーバーのセット アップ』を参照してください。
  12. 12. IBM Cloud © 2017 IBM Corporation 12 IPv4 転送が有効になっていることを確認します。 例えば、CentOS 7 では次の⼿順を実⾏します。 /etc/sysctl.conf ファイルに次の⾏を含めます。 ネットワークの前提条件 設定したNWについて以下のポートが開いており、通信可能な状態としてFW設定を構成ください。 •60000 から 60060: データベース FCM ⽤ (HADR を使⽤する場合は、60006 から 60007 が HADR ⽤) •25000 から 25999: Apache Spark ⽤ •50022: ⾃動化と管理のための SSH ⽤ •50001: SSL を使⽤するデータベース接続⽤ •50000: SSL を使⽤しないデータベース接続⽤ •8443: Web コンソールの HTTPS ⽤ •8998: Livy サーバー経由の Apache Spark アプリケーション・ジョブの実⾏⽤ •9300: Web コンソールの状況確認⽤ •9929: 通信テスト⽤ •5000: システム・マネージャー⽤ •389: LDAP ⽤ •22: SSH/ホスト・オペレーティング・システム⽤ net.ipv4.ip_forward=1 例) コマンドを発⾏します。 net.ipv4.ip_forward=1
  13. 13. IBM Cloud © 2017 IBM Corporation 参考:Docker インストールガイドについて 13 1.Dockerインストールについて https://docs.docker.com/engine/installation/ http://docs.docker.jp/engine/installation/index.html 2-1. Docker EE インストール⼿順 (RHEL) 最新版 v17.12 https://docs.docker.com/engine/installation/linux/docker-ee/rhel/ 2-2. Docker CE インストール⼿順 (CentOS) 最新版 v17.12 https://docs.docker.com/engine/installation/linux/docker-ce/centos/ Docker CE (rpmパッケージリンク先) https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 2-3. Docker Engine インストール⼿順 (RHEL) 旧バージョン v1.12.6 http://docs.docker.jp/v1.12/engine/installation/linux/rhel.html https://docs.docker.com/v1.12/engine/installation/linux/rhel/ Linux環境へのDocker及びDocker Engineのインストール⽅法は下記を参照ください。 ※最新版はDocker Engineという名称からDocker EE / CEに変更となっております。 Dockerの導⼊に際しては下記ガイドを参照の上、Linux環境への導⼊を実施ください。 (MPPの場合、全ノードにDockerを導⼊します。)
  14. 14. IBM Cloud © 2017 IBM Corporation 14 Db2 Warehouse コンテナイメージ取得⼿順 Db2 WarehouseはDockerコンテナイメージで提供されます。取得⽅法はDocker Store/Hubから⼊⼿もしくは IBM Boxサイトからのダウンロード⽅法があります。 Docker Storeからコンテナイメージを⼊⼿する準備(推奨) 1.Docker ID を取得します。 2.Docker Store にログインします。 3.IBM Db2 Warehouse Enterprise Edition を検索します。 4.検索結果で「IBM Db2 Warehouse Enterprise Edition」ボックスをクリックします。 5.「チェックアウトに進む」をクリックします。 6.連絡先情報を記⼊して使⽤条件に同意し、「内容の取得」をクリックします。 コンテナーのデプロイと更新の⼿順が表⽰されます。こちらを参考に導⼊頂くことが可能です。 またKnowledge Center の資料にあるデプロイと更新のトピックを参照することもできます。 上記⼿順にてDb2 WarehouseのイメージをDocker Storeを経由でご利⽤されている サーバー環境へのプル、デプロイが可能となります。 その他、Docker Hub、IBM Boxサイトからの⼊⼿についてはこちらを参照ください。 ※IBM Boxサイトから直接イメージの⼊⼿が必要な場合は、下記連絡先(e33119@jp.ibm.com)までご相談ください。 (Boxサイトからのダウンロードに際してはIBM ID情報が必須となります)
  15. 15. IBM Cloud © 2017 IBM Corporation IBM® Db2 Warehouseのデプロイについて 15 Db2® Warehouse をデプロイするには、Docker Store、Docker Hub、または Box にある製品イメージを使⽤しま す。 Db2 Warehouse を既にインストールした場合は、このタスクを実⾏しないでください。代わりに、『IBM Db2 Warehouse の再デプロイ (Linux)』に従って再デプロイします。 Db2 Warehouseのデプロイを始める前に以下を確認してください。 1.Docker IDは取得済みですか?導⼊時にDocker Storeより、Db2 WarehouseコンテナPull時に必要となります。 2.Docker サポート対象のLinuxが導⼊されていますか? CentOS, RHELの場合は、7.x以上を導⼊ください。 3./etc/hostsに設定したネットワークIPアドレス、ホスト名が登録されていますか? 4.Linux OSのネットワーク設定、FW設定は適切に実⾏されていますか? 必要なポート通信が可能な状態か確認ください。 5.Db2 Warehouseコンテナが導⼊可能なディレクトリ領域 (/mnt/clusterfs) に最⼩50GB、推奨200GBの領域が 確保されていますか?領域不⾜の場合、導⼊時にエラーとなります。※ /mnt/clusterfs領域に確保するファイルシステム サイズは格納データ容量の要件によって変わってきます。 6. SELinuxは無効になっていますか? CentOS を使⽤している場合は、Firewalld を無効にしてください。
  16. 16. IBM Cloud © 2017 IBM Corporation 16 1.Docker Hub または Docker Store にあるコンテナーを使⽤する場合は、各ノード・ホストで次のコマンドを発⾏します。 IBM® Db2 Warehouseのデプロイ (Docker Storeの場合) # docker login -u=docker_hub_id -e=email-p='password' 2.⽬的のクラスターの各ノード・ホストで、適切な docker run コマンドを実⾏して、最新の Db2 Warehouse コンテ ナーをプルし、作成して初期化します。下記はDocker Store の Intel x86 ハードウェアのコンテナーの場合 (Db2 Warehouse バージョンはv2.3.0の実⾏例です。) # docker run -d -it --privileged=true --net=host --name=Db2wh -e TIMEZONE='Asia/Tokyo' -e DISABLE_SPARK='YES’ -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 store/ibmcorp/db2wh_ee:v2.3.0-db2wh-linux オプションで、-e option=value option=value … パラメーターを指定できます。このパラメーターについて 詳しくは、『IBM Db2 Warehouse イメージの構成オプション』を参照してください。 ※上記コマンドはタイムゾーンを⽇本、Sparkの起動をオフ、Db2 Warehouseバージョンv2.3.0を指定した場合の コンテナをデプロイする実⾏例です。Docker Store経由でコンテナイメージをPullしてくるため、 Docker StoreへNW接続できる必要があります。
  17. 17. IBM Cloud © 2017 IBM Corporation 17 Db2 WarehouseコンテナイメージをIBM Boxから⼊⼿した場合の導⼊⼿順は下記の通りです。 IBM® Db2 WarehouseイメージBoxから⼊⼿とデプロイ⼿順 1.Boxサイトより、次のいずれかのインストール・パッケージをダウンロードします。 Intel x86 ハードウェアの場合: db2wh_version.tar.gz 2.インストール・パッケージを各ホストにコピーします。 3.各ホストで、次のコマンドを実⾏します。 4.各ホストで、次のコマンドを実⾏します。(Db2 Warehouse コンテナイメージのインポート) 5.⽬的のクラスターの各ノード・ホストで、適切な docker run コマンドを実⾏して、最新の Db2 Warehouse コンテナーをプルし、作成して初期化します。下記はDocker Store の Intel x86 ハードウェア のコンテナーの場合 (Db2 Warehouse バージョンはv2.3.0の実⾏例です。) # gunzip db2wh_version.tar.gz # docker load < db2wh_version.tar # docker run -d -it --privileged=true --net=host --name=Db2wh -e TIMEZONE='Asia/Tokyo' -e DISABLE_SPARK='YES’ -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 store/ibmcorp/db2wh_ee:v2.3.0-db2wh-linux オプションで、-e option=value option=value … パラメーターを指定できます。このパラメーターについて 詳しくは、『IBM Db2 Warehouse イメージの構成オプション』を参照してください。
  18. 18. IBM Cloud © 2017 IBM Corporation Docker Run実⾏後の進捗確認について 18 次のコマンドを実⾏して、デプロイメントが正常に進⾏しているか完了したかを確認します。MPP デプロイメントの場 合は、ヘッド・ノードでコマンドを実⾏します。 docker logs --follow Db2wh 全てのサービスがRUNNINGで起動したことを確認 WebコンソールのURLが記載されます。 Bluadminの管理者パスワードをリセットする⽅法が記載 されているため必要に応じて任意のパスワードを再設定します。 デプロイメントが成功したことを確認の上、Ctrl-C キーを押して Docker ログを終了します。
  19. 19. IBM Cloud © 2017 IBM Corporation 19 Db2 Warehouse デプロイが失敗した場合の再実⾏⼿順 1.次のコマンドを実⾏して、失敗したコンテナーを削除します。 # docker rm Db2wh 2.次のコマンドを発⾏して、Dockerエンジンを停⽌します。 # systemctl stop docker 3.次のコマンドを発⾏して、ネットワークを再始動します。 # systemctl restart network 4.次のコマンドを実⾏して、/mnt/clusterfs ファイル・システム・ディレクトリーの内容を削除します。 # rm -rf /mnt/clusterfs/* 5.Docker Runコマンドの実⾏から再度デプロイをやり直します。 # docker run -d -it --privileged=true --net=host --name=Db2wh -e TIMEZONE='Asia/Tokyo' -e DISABLE_SPARK='YES’ -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 store/ibmcorp/db2wh_ee:v2.3.0-db2wh-linux
  20. 20. IBM Cloud © 2017 IBM Corporation 20 オプションおよび値 説明 DB_CODESET='code_set' DB_CODESET オプションはコード・セットを指定します。 デフォルト値は UTF-8 です。値の完全なリストについては、Db2 for Linux, UNIX, and Windows のサ ポートされているテリトリー・コードおよびコード・ページのトピックにある表の「コード・セット」列を参照してください。 •DB_CODESET オプションの値は、次の 2 つのケースで docker run コマンドを使⽤する場合にのみ変更できます。 Db2 Warehouse を初めてデプロイする場合 •先にコンテナーを削除することなく、Db2 Warehouse を再デプロイする場合 •次の 2 つのケースで docker run コマンドを使⽤する場合は、DB_CODESET オプションの値を変更しても効果はありません。 Db2 Warehouse を更新する場合 •コンテナーを削除してから docker run コマンドを実⾏する場合 (つまり、データが元のままの場合) DB_COLLATION_SEQUENCE='c ollation_sequence' DB_COLLATION_SEQUENCE オプションは照合シーケンスを指定します。 デフォルト値は IDENTITY です。値の完全なリストについては、Db2 for Linux, UNIX, and Windows のサポートされているテリトリー・コードおよびコード・ページのトピックにある表の「照合」列を参照してください。照合順序は、SYSTEM_819 などの SYSTEM_number 値、または SYSTEM_923_DK などの SYSTEM_number_territoryID 値を使⽤して指定します。 •DB_COLLATION_SEQUENCE オプションの値は、次の 2 つのケースで docker run コマンドを使⽤する場合にのみ変更できます。 Db2 Warehouse を初めてデプ ロイする場合 •先にコンテナーを削除することなく、Db2 Warehouse を再デプロイする場合 •次の 2 つのケースで docker run コマンドを使⽤する場合は、DB_COLLATION_SEQUENCE オプションの値を変更しても効果はありません。 Db2 Warehouse を 更新する場合 •コンテナーを削除してから docker run コマンドを実⾏する場合 (つまり、データが元のままの場合) DB_TERRITORY='territory' DB_TERRITORY オプションは、テリトリー ID を指定します。 デフォルト値は US です。値の完全なセットについては、Db2 for Linux, UNIX, and Windows の サポートされているテリトリー・コードおよびコード・ページのトピックにある表の説明のテリトリー ID を参照してください。 •DB_TERRITORY オプションの値は、次の 2 つのケースで docker run コマンドを使⽤する場合にのみ変更できます。 Db2 Warehouse を初めてデプロイする場合 •先にコンテナーを削除することなく、Db2 Warehouse を再デプロイする場合 •次の 2 つのケースで docker run コマンドを使⽤する場合は、DB_TERRITORY オプションの値を変更しても効果はありません。 Db2 Warehouse を更新する場合 •コンテナーを削除してから docker run コマンドを実⾏する場合 (つまり、データが元のままの場合) DB_PAGE_SIZE='size' TABLE_ORG オプションの値が 'ROW' である場合は、DB_PAGE_SIZE オプションを使⽤してページ・サイズを変更できます。TABLE_ORG オプションの値が 'ROW' である場合、DB_PAGE_SIZE オプションのデフォルト値は '16384' であり、サポートされる他の値は '4096'、'8192'、および '32768' (値はバイト単位) で す。TABLE_ORG オプションの値が 'COLUMN' (デフォルト) である場合、DB_PAGE_SIZE オプションのデフォルト、かつサポートされる唯⼀の値は '32768' です。 TIMEZONE='new_timezone' Db2 Warehouse のタイム・ゾーンはデフォルトでは協定世界時 (UTC) に設定されます。別のタイム・ゾーンを指定するには、TIMEZONE オプションに 'new_timezone' を設定します。 サポートされているタイム・ゾーンのリストを取得するには、次のコマンドを発⾏します。 timedatectl list-timezones IBM® Db2 Warehouse イメージ 構成オプション
  21. 21. IBM Cloud © 2017 IBM Corporation 21 オプションおよび値 説明 DISABLE_SPARK='NO'|'YES' •Db2 Warehouse 製品には、統合 Apache Spark 環境が含まれています。Spark はデフォルトで有効です。Spark が有効である場合、Spark アプリケーショ ン⽤に予約されるシステム・メモリーの量は、システム・メモリーの総量に応じて異なります。 システム・メモリーが < 128 GB である場合は、Spark アプ リケーション⽤に 10% が予約されます。 •システム・メモリーが ≥ 128 GB かつ < 256 GB である場合は、Spark アプリケーション⽤に 15% が予約されます。 •システム・メモリーが ≥ 256 GB である場合は、Spark アプリケーション⽤に 20% が予約されます。 システム・メモリーで問題が発⽣した場合や、Db2 Warehouse で Spark を使⽤しない場合は、DISABLE_SPARK オプションを 'YES' に設定して、Spark を 無効にします。 ENABLE_ORACLE_COMPATIBILITY ='NO'|'YES' •Oracle データベース⽤に作成されたアプリケーションを、書き換えることなく Db2 Warehouse で使⽤できるようにするには、 ENABLE_ORACLE_COMPATIBILITY オプションを 'YES' に設定します。Oracle 互換性は、デフォルトでは有効ではありません。 次の 2 つのケースで docker run コマンドを使⽤する場合にのみ、ENABLE_ORACLE_COMPATIBILITY オプションを 'YES' に設定する効果があります。 Db2 Warehouse を初め てデプロイする場合 •先にコンテナーを削除することなく、Db2 Warehouse を再デプロイする場合 •次の 2 つのケースで docker run コマンドを使⽤する場合は、ENABLE_ORACLE_COMPATIBILITY オプションを 'YES' に設定しても効果はありません。 Db2 Warehouse を更新する場合 •コンテナーを削除してから docker run コマンドを実⾏する場合 (つまり、データが元のままの場合) ENABLE_ORACLE_COMPATIBILITY オプションの値を 'YES' に変更した場合、値を 'NO' に戻すことはできません。 Oracle 互換性について詳しくは、Oracle のための互換機能を参照してください。 HADR_ENABLED='NO'|'YES' -e HADR_ENABLED='YES' パラメーターを指定すると、SMP デプロイメントで HADR が有効になります。追加のセットアップが必要です。詳しくは、IBM Db2 Warehouse SMP デプロイメント⽤の HADR のセットアップを参照してください。 TABLE_ORG='ROW'|'COLUMN' •デフォルトでは、Db2 Warehouse データベースの表には列編成のストレージが使⽤されます。つまり、TABLE_ORG オプションが 'COLUMN' に設定されま す。分析ワークロードには、列編成のストレージが最適です。ただし、Db2 Warehouse をデプロイするときに TABLE_ORG オプションを 'ROW' に設定した 場合は、⾏編成のストレージが表に使⽤されます。OLTP ワークロードには、このタイプのストレージが最適です。 TABLE_ORG オプションには以下の制約事 項があります。 TABLE_ORG オプションの値は、Db2 Warehouse を初めてデプロイするときにのみ変更できます。 •TABLE_ORG オプションを 'COLUMN' に設定する場合は、DB_COLLATION_SEQUENCE オプションの値を IDENTITY (デフォルト) にする必要があります。 また、DB_CODESET オプションの値は、UTF-8 (デフォルト) または ISO8859-1 にする必要があります。 サポートされているテリトリー・コードおよびコード・ページ IBM® Db2 Warehouse イメージ 構成オプション
  22. 22. IBM Cloud © 2017 IBM Corporation 22 参考:Db2 Warehouse構築/運⽤によく使うdockerコマンド例 dockerコマンドオプション 内容 docker start [コンテナ名] dockerコンテナの起動 (例: docker start Db2 Warehouse) docker stop [コンテナ名] dockerコンテナの停⽌ (例: docker stop Db2 Warehouse) docker logs [コンテナ名] docker logs --follow Db2 Warehouse dockerコンテナのログを確認する。 (例: docker logs Db2 Warehouse ) dockerコンテナのログをリアルタイムでモニタリングする docker ps docker ps -a 起動中のdockerコンテナ⼀覧のみを表⽰します。 存在しているdockerコンテナ⼀覧を表⽰します。(-a オプション付き) docker images dockerイメージの⼀覧を確認する。 docker rename [コンテナ名] dockerコンテナのリネームします。 docker pull [イメージ名] docker イメージのダウンロード (例: docker pull Db2 Warehouse/local:latest-linux) docker rm [コンテナ名] dockerコンテナの削除 (-f オプションで強制削除) docker rmi [イメージID] dockerコンテナイメージの削除 docker exec -it [コンテナ名] [command] dockerコンテナ上でコマンドを指定の実⾏させる。 docker stats [コンテナ名] dockerコンテナのシステムリソース使⽤状況を確認する docker top [コンテナ名] dockerコンテナ上でTopコマンドを実⾏した結果を確認する。 docker info docker engineの情報を確認できます。(バージョン、ストレージドライバ、使⽤コア、メモリ等) docker save [イメージID] > ファイル名.tar dockerコンテナイメージをtar形式でバックアップする。 docker load < ファイル名.tar dockerコンテナイメージtar形式を別のDockerエンジンにロードする際に使⽤ docker export > ファイル名.tar dockerコンテナをファイル出⼒する。 docker import < ファイル名.tar ファイルからdockerコンテナを取り込ませる。(cat ファイル名.tar | docker import - REPOSITORY[:TAG]) ※特に記載がない限りは、Db2 Warehouse ホスト上のrootユーザーにて下記コマンドを実⾏します。
  23. 23. IBM Cloud © 2017 IBM Corporation 23 dockerコマンドオプション 内容 docker run コマンド Db2 Warehouseコンテナを作成、起動(Run)させる。例:LinuxでのDb2 Warehouseコンテナ作成例 docker run -d -it --privileged=true --net=host --name=Db2wh -e TIMEZONE='Asia/Tokyo' -e DISABLE_SPARK='YES’ -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 store/ibmcorp/db2wh_ee:v2.3.0-db2wh-linux docker exec -it Db2 Warehouse start Db2 Warehouseコンテナ上で Db2 Warehouse DBインスタンスを起動させる (主にMPPにてheadノード上で実⾏) docker exec -it Db2 Warehouse stop Db2 Warehouseコンテナ上で Db2 Warehouse DBインスタンスを停⽌させる (主にMPPにてheadノード上で実⾏) docker exec -it Db2 Warehouse status Db2 Warehouse コンテナのサービス状態を確認する。headノード、dataノードの構成情報、ライセンス情 報の確認が可能。 docker exec -it Db2 Warehouse dashlicm -a /mnt/clsuterfs/scratch/ライセンスファイル名 Db2 Warehouse ライセンスファイルをDb2 Warehouse システムに適⽤する際に使⽤するコマンド ライセンスファイルは/mnt/clusterfs/scratch 以下のディレクトリに配置する。 docker exec -it Db2 Warehouse get_system_info 現状及び前⽉時におけるDb2 Warehouseシステム(SMP/MPP)のノード数、トータルCPUコア数(論理CPUコ ア数)、トータルメモリ量を出⼒します。 docker exec -it Db2 Warehouse version Db2 Warehouse ソフトウェアバージョンを確認します。 docker exec -it Db2 Warehouse get_webconsole_url Db2 Warehouse Webコンソールが稼動しているノードのIPアドレスを表⽰します。 ※Web コンソールへは対象ポートが開いていれば、システム上の別IPからも接続は可能。 docker exec -it Db2 Warehouse setpass xxxxxxx Db2 Warehouse 初期管理者ユーザー(bluadmin)のパスワードを変更します。 docker exec -it Db2 Warehouse configure_ldap 外部LDAPサーバーを構成します。オプション詳細は以下のマニュアルリンク先を必ず確認ください。 リンク 先 参考:Db2 Warehouse構築/運⽤によく使うdockerコマンド例 ※特に記載がない限りは、Db2 Warehouse ホスト上のrootユーザーにて下記コマンドを実⾏します。
  24. 24. IBM Cloud © 2017 IBM Corporation 24 IBM® Db2 Warehouseの起動と停⽌コマンド IBM® Db2 Warehouse の開始 (このタスクを実⾏するには、root 権限が必要です。) ⼿順 1.以下の⽅法を使⽤します。 2.次のコマンドを実⾏して、コンテナーとサービスが開始されているかどうかを確認します。 タスクの結果 Db2 Warehouse サービスが開始されると、成功を⽰すメッセージが表⽰され、Web コンソールにログインできます。 # docker start Db2wh # docker exec -it Db2wh status
  25. 25. IBM Cloud © 2017 IBM Corporation 25 IBM® Db2 Warehouseの起動と停⽌コマンド IBM® Db2 Warehouse の停⽌ (このタスクを実⾏するには、root 権限が必要です。) ⼿順 1.次のコマンドを実⾏して、Db2 Warehouse サービスを停⽌します。MPP デプロイメントの場合は、ヘッド・ノードで コマンドを実⾏します。 2.次のコマンドを実⾏して、コンテナーとサービスが開始されているかどうかを確認します。 タスクの結果 上記コマンド完了後、docker ps コマンドにてコンテナが起動されていないことを確認します。 # docker exec -it Db2wh stop # docker stop Db2wh
  26. 26. IBM Cloud © 2017 IBM Corporation Web Console 概要 - コンソールへのアクセス • 「https://<Db2 WarehouseのIPアドレス>:8443/console」にて、IIASのWebコンソールに接続 − ブラウザーにURLを⼊⼒し、Web Console のユーザー名とパスワードを⼊⼒し、ログイン 26 ログインすると ホーム画⾯が開く デフォルト管理者ユーザーは 「bluadmin」
  27. 27. IBM Cloud © 2017 IBM Corporation Web Console 概要 - メニュー項⽬ • Web Console からは、システム状況のモニターや構成の確認、SQL実⾏などが可能 27 • Webコンソール画⾯左上の マークをクリックすると、 メニューが表⽰されます。 ADMINISTER ・テーブル、ビュー 、MQT ・リモートテーブル ・WML設定 SETTINGS ・パスワード変更 ・バックアップ/リストア 等の確認 CONNECT ・接続情報の表⽰ ・Driver PackeageダウンロードHELP ・⾃動作成されたPRMの確認 ・マニュアルへのリンク MONITOR ・システム状況(S/W、H/W) ・ワークロード 等のモニター • 各メニューの下向き⽮印を クリックすると、サブメ ニューが表⽰されます。 データLOAD ・サーバー/クライアント上のデータロード ・Object Storage経由ロード SQL/SQLスクリプト実⾏ Spark/R/Special In-DB分析
  28. 28. IBM Cloud © 2017 IBM Corporation Web Console 概要 - Monitor • Monitor - Workloads - Overview − データベースレベルで取得したモニター情報を確認 28 SQL実⾏数やCPU負 荷状況を表⽰ 過去のモニター情報も 参照可能 特定のワークロードのみ 表⽰することも可能
  29. 29. IBM Cloud © 2017 IBM Corporation Web Console 概要 - Administer • Administer - Tables, Schemas, Privileges ... − 表、ビュー、シーケンス等のオブジェクトの定義情報やステータスを確認 − 権限/特権の確認および変更 29 ・スキーマの管理 ・スキーマ特権の変更 ・表定義や分散状況の確認 ・表特権の確認/変更 表の"Data Distribution" ・テーブル総件数を確認 ・区分ごとのバランスを確認 スキーマの"Privileges" 変更 ・スキーマ特権の付与/剥奪 ・特定のユーザーへ 各種特権を付与
  30. 30. IBM Cloud © 2017 IBM Corporation Web Console 概要 - ユーザー管理 • SETTINGS - Users and Privileges − ユーザーロールは以下の⼆種類 - User - データのLoad, 分析モデルのImport/Export, Rスクリプト実⾏, SQL実⾏, 実⾏中SQL/接続中アプリケーションのリア ルタイムモニター, 表作成や権限変更, ユーザープロファイル変更, DBへの接続 - Administrator - "User"ロールの全ての権限 - ユーザーの追加/修正/削除、ユーザー情報の編集(接続元ホストの制限やパスワード変更を含む) - ユーザーへのテーブルアクセス権限の付与/剥奪 - データベースに対するデータアクセス権(DATAACCESS管理者権限) 30 各ユーザーのプロファイルは Administratorであれば変更可能 これらのユーザー名、 パスワードを使⽤して DBへ接続する
  31. 31. IBM Cloud © 2017 IBM Corporation 31 IBM® Db2 Warehouse のユーザー種類 DB管理ユーザ (bluadmin)Db2 Warehouse コンテナ GUI (DSM) Linux OS(Docker サポート ノードOS) ファイルシステム (MPPの場合、クラスタファイルシステム) Docker サーバー、ノードOS 管理ユーザ (rootユーザー) ※インストールユーザー DB⼀般ユーザ (開発者/利⽤者) - IBMサポート対象:Db2 Warehouseコンテナ BLUDB Spark Federation Engine Db2 Engine LDAP HW (サーバー、ストレージ) Linux Other App - 顧客管理対象(IBM Db2 Warehouse製品保守サポート外) Db2 Warehouse導⼊システムには以下の3種類のユーザーが存在します。ユーザーは其々の役割、範囲に応じた 運⽤管理作業、DB開発、利⽤を⾏います。詳細な情報は次ページを参照ください。
  32. 32. IBM Cloud © 2017 IBM Corporation 32 ユーザー 役割 できること 備考 root rootユーザ ・基本的に全ての運⽤管理操作 ・ノードOSへのパッケージインストールなど ・ノードOSへのログイン ・ノードOSコマンド実⾏ ・Db2 Warehouseコンテナーの起動/停⽌ ・システムのログ監視/収集/監査 ・ハードウェア、OSの管理 ・ノードOS上の管理ユーザー、全権限保有 ・サポート部⾨への依頼によって24時間限定のパスワード取 得可能 ・DBデータアクセスはできない ・DBへの操作、データアクセス不可 bluadmin DB管理者 ・DB接続 ・DBデータアクセス (全スキーマデータの参照・更新可) ・コンテナーOS上のコマンドやスクリプトの実⾏ ・テーブル作成や権限設定 ・ワークロード作成、LOAD、再編成、DBバックアッ プ/リストア、モニタリングなどのDb2関連の運⽤操作 ・コンテナOS上のDB管理ユーザー ・ノードOSへ接続不可 (任意のユーザ) DBアクセスユーザ (⼀般のユーザ) ・DB接続 ・SQL実⾏ ・テーブル作成/権限設定 ・LOAD ・BIND ・外部ルーチン作成 ・コンテナーOS上のコマンドやスクリプトの実⾏ ・IIAS WebコンソールからのSQL/アプリケーションの リアルタイムモニタリング ・コンテナOS上のユーザー ・IIAS Webコンソール / REST API にて作成可能 ・ユーザ作成画⾯でUser Privilege ”User” を指定する ・他のユーザ/スキーマのデータを参照するよう構成可能 (権限付与) ※コンテナーOSとは、Db2 WarehouseコンテナーのOSを⽰す IBM® Db2 Warehouse のユーザー種類
  33. 33. IBM Cloud © 2017 IBM Corporation Db2 Warehouse ユーザの作成⽅法 • DBユーザの追加作成 − Db2 Warehouse管理ユーザ(bluadmin)の他に、利⽤者が任意のOSユーザを作成し、DBアクセス ユーザとして利⽤することができる − ユーザ作成するだけで、sshでコンテナにログイン/OSコマンド、DB操作コマンドの実⾏/シェルス クリプト開発・実⾏などが実施可能な状態となる • ユーザ作成⽅法 − Webコンソールからの作成 − REST API − 次ページから、Webコンソールを⽤いて、管理者権限を持たないDBアクセスユーザを作成する⼿ 順を紹介 33
  34. 34. IBM Cloud © 2017 IBM Corporation ユーザ作成⽅法 (Webコンソール) • 1. Webコンソールにログイン (https://IPアドレス:8443) − 管理者であるbluadminでログインする。パスワードは管理者に確認 34
  35. 35. IBM Cloud © 2017 IBM Corporation ユーザ作成⽅法(Webコンソール) • 2. ユーザ管理画⾯ − サイドメニュー「SETTINGS」>「Users and Privileges」 35
  36. 36. IBM Cloud © 2017 IBM Corporation ユーザ作成⽅法(Webコンソール) • 3. ユーザ追加 − 左上の「Add」押下 − ユーザ名、パスワードを⼊⼒ - パスワードは12⽂字以上、 アルファベット⼩⽂字、⼤⽂字、 数字、記号の全てを指定する − 「User Privilege」はデフォルト のまま変更しない - 管理者権限なしの⼀般ユーザ (User)として作成 - “Administrator”チェックを⼊れて 管理者権限を付与すると、Db2の バックアップ・リストア、再編成等 のDb2運⽤操作を実施できるようになる − 最後に右下の「Create」押下 36
  37. 37. IBM Cloud © 2017 IBM Corporation 37 ユーザ作成⽅法(RESTAPI) curl -k -u "[adminUserid]:[adminPassword]" -H 'Content-Type: application/json' -H 'Accept: text/html' -d '{"users":[{"password":[userPassword],"userid":[userID],"userProfile":{"first_name":[userFirstName], "last_name":[userLastName],"email":[userEmailAddress]},"userRole":[{"role":[userRole]}]}]}' -X POST "https://[hostname]:[port]/dashdb-api/users" RESTAPIを使⽤したユーザー作成コマンドは以下の通りです。 (Db2 WarehouseノードOS上でrootユーザーにて実⾏。curlコマンドが使⽤出来る必要があります。) 管理者ユーザー : testuser0 を作成する場合の実⾏例 (bluadminのパスワード:password) # curl -k -u "bluadmin:password" -H 'Content-Type: application/json' -H 'Accept: text/html' -d '{"users":[{"password":IBM- 2018-Watson,"userid":testuser0,"userProfile":{"first_name":Yasutaka, "last_name":Emoto,"email":e11111@jp.ibm.com},"userRole":[{"role":administrators}]}]}' -X POST https://xxx.xxx.xxx.xxx:8443/dashdb-api/users {"result":[{"resultCode":"SUCCESS","message":"NONE","userid":"testuser0"}],"errorMessageCode":"NONE","resultCode":"SUCC ESS","message":"ADDED"} ユーザー作成後はDb2 Warehouse コンテナOSに作成ユーザーでログイン可能です。 # ssh -p 50022 DBユーザー@IPアドレス 例) $ ssh -p 50022 testuser0@IPアドレス
  38. 38. IBM Cloud © 2017 IBM Corporation Db2 Warehouseコンテナへの直接ログイン⽅法 • Db2 Warehouseコンテナーへのログイン − 50022番ポートにSSH接続する − IIAS Webコンソールで作成したユーザで、コンテナにSSHログインする - コンテナ内にログインしたbluadminユーザ及びDBユーザーはdbsqlコマンド、Db2コマンドを実⾏可能 # ssh -p 50022 DBユーザー@IPアドレス 例) $ ssh -p 50022 bluadmin@9.68.115.60 38 • Db2 Warehouseコンテナー内でDBユーザーでログインするための準備 # docker exec -it Db2wh bash # vi /etc/ssh/sshd.config PasswordAuthentication no => PasswordAuthentication yes に修正、保存 # systemctl restart sshd.service # exit WindowsPCからは、TeratermなどSSH対応のターミナルソフトウェアを⽤いてログインする
  39. 39. IBM Cloud © 2017 IBM Corporation データベースへの接続⽅法 • DBへの接続⽅法には、以下のような⽅法がある − コマンドラインベースの接続・操作 1. dbsql ・・・nzsql互換のコマンドラインインターフェース、Netezza/PostgreSQLスキル保持者推奨 2. CLP ・・・Db2標準のコマンドラインインターフェース、Db2スキル保持者に推奨 3. CLPPlus ・・・Oracle互換のコマンドラインインターフェース、Oracleスキル保持者に推奨 − GUIベースの接続・操作 4. Db2 Warehouse Web コンソール ・・・WebブラウザからSQLの実⾏やDB操作が可能 5. 各種、開発ツールからのアクセス − アプリケーション(JDBC, ODBCなど)からの接続 • 当資料では、上記のうち dbsql / Db2 Warehouse Webコンソール での接続⽅法を紹介 39
  40. 40. IBM Cloud © 2017 IBM Corporation • 接続先の情報(ホスト、ポート番号など) − Webコンソールに記載 - サイドメニュー「CONNECT」>「Connection Information」>「Get connected」 - JDBC接続時に必要となるURL、JDBCドライバも同画⾯で提供される DBへの接続先情報 40 /
  41. 41. IBM Cloud © 2017 IBM Corporation Db2 Warehouseコンテナへの直接ログイン⽅法 • Db2 Warehouseコンテナーへのログイン − 50022番ポートにSSH接続する − Db2 Warehouse Webコンソールで作成したユーザで、コンテナにSSHログインする - 同ユーザでDb2コマンド実⾏、dbsqlコマンド等実⾏可能 − 例) − WindowsPCからは、TeratermなどSSH対応のターミナルソフトウェアを⽤いてログインする $ ssh –p 50022 DBユーザ@IPアドレス 41
  42. 42. IBM Cloud © 2017 IBM Corporation dbsql コマンドラインインターフェイス • dbsql − SQL実⾏、オブジェクトの作成・削除、データベースの管理などの管理操作を実⾏することが できる対話式CUIツール − nzsql(Netezzaのコマンド) 互換コマンドラインツール − Db2 Warehouse Container/Client Container/IBM®Db2 Warehouse on Cloudサポート・ ツール導⼊済のDb2クライアント上で実⾏可能 • 構⽂ • 利⽤⼿順 − 1. SSHログイン (→前ページ参照) − 2. dbsqlコマンドによるDB接続(対話式モードの場合) − 3. SQL実⾏ $ dbsql [options] [security options] 42
  43. 43. IBM Cloud © 2017 IBM Corporation 43 dbsql command オプション引数 https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.apdv.porting.doc/doc/dbsql_command.html dbsql コマンドラインインターフェイス コマンドオプション 説明 -A アライメントされていない表出⼒モード(-P format=unaligned) -c <query> 単⼀のクエリー(またはスラッシュコマンド)を実⾏して終了する -d <dbname> 接続するデータベース名を指定する(default: $DB_DATABASE) -schema <schemaname> 接続するスキーマ名を指定する(default: $DB_SCHEMA) -e バックエンドに送信されたクエリーをエコーする -E 内部コマンドが⽣成するクエリーを表⽰する -f <filename> ファイルからクエリーを実⾏して終了する -F <string> フィールドセパレータを設定する(default: "|") (-P fieldsep=) バイナリ/コントロール/⾮印字可能⽂字の場合は ʻ$ʼを使⽤する (例:TABの場合 dbsql -F $'¥t') -terminator <char> クエリ実⾏の終端⽂字(デフォルトは ; ) を変更する -host <host> データベースサーバーホストを指定する(default: domain socket) -l 利⽤可能なデータベースを⼀覧表⽰して終了する -n ⽇本語⼊⼒する際に指定する -o <filename> クエリー出⼒をファイル名(またはパイプ)に送信する -O <filename> ファイル名(またはパイプ)にエラーのあるクエリー出⼒を送る -R <string> レコードセパレータを設定する(default: newline) (-P recordsep=) -t ⾏のみを印刷する(-P tuples_only) -u <username> データベースのユーザー名を指定する(default: $DB_USER) -pw <password> データベース・ユーザーのパスワードを指定する -h or -? or --help ヘルプを表⽰する
  44. 44. IBM Cloud © 2017 IBM Corporation 44 dbsql コマンドラインインターフェイス 環境変数 セットする値 DB_HOST 接続先のホスト名またはIPアドレス DB_DATABASE 接続するデータベース名を指定 DB_SCHEMA 接続するスキーマ名を指定 DB_USER 接続に対するユーザー名を指定 DB_PASSWORD 接続するユーザーのパスワード 環境変数の設定 データベース接続するにあたり、必要な引数項⽬を環境変数で指定することが可能。 バックスラッシュオプション オプション 説明 ¥q インタープリターの終了 ¥d テーブルやビューの⼀覧表⽰ ¥? バックスラッシュ・オプションのヘルプ表⽰ ¥d table テーブルの定義を表⽰ ¥dpr [role] ロールに与えられたパーミッションを表⽰ ¥dUR [role] ユーザー・ロールを⼀覧表⽰ ¥dr [role] ロールを⼀覧表⽰ ¥dR [role] ロール・ユーザーを⼀覧表⽰ ¥dRG [role] ロール・グループを⼀覧表⽰ ¥dRR [role] ロール・ロールズを⼀覧表⽰ ¥time クエリー実⾏時間を表⽰ その他のバックスラッシュ・オプションについては以下参照。 https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.apdv.porting.doc/doc/dbsql_internal_slash_options.html
  45. 45. IBM Cloud © 2017 IBM Corporation • dbsql実⾏例 − 対話式モードを開始する - 例) − SQL(⼀⾏)を実⾏する − ファイルに記述したSQLを実⾏する $ dbsql –d <dbname> -schema <schemaname> -u <username> -pw <passwd> -c “select …” $ dbsql –d <dbname> -schema <schemaname> -u <username> -pw <passwd> $ dbsql –d <dbname> -schema <schemaname> -u <username> -pw <passwd> -f <filename> [bluadmin@node1i - dashDB ~]$ dbsql -d bludb Welcome to IBM dbsql, an interactive SQL terminal. Type: ¥? for help with internal slash commands ¥g or terminate with semicolon to execute query ¥q to quit BLUDB.M_TEST(BLUADMIN)=> 以後、対話式にSQLを実⾏可能 45 dbsql コマンドラインインターフェイス
  46. 46. IBM Cloud © 2017 IBM Corporation dbsqlコマンドライン参考例 46 クエリー(コマンドライン)を実⾏する。 $ dbsql -c "SELECT * FROM sampletbl" ファイルのクエリーを実⾏する。 $ dbsql -f sample.sql ファイルに出⼒する。 $ dbsql -f sample.sql -o result.txt SQL実⾏時の経過時間を表⽰させる $ dbsql -time -u bluadmin -pw xxxxx SQL終端⽂字を@に変更する $ dbsql -terminator @ -u bluadmin -pw xxxxx スキーマ TESTにテストユーザーでログインする $ dbsql -schema test -u testuser -pw testxxxxx123 カレントスキーマの変更⽅法 SET SCHEMA で指定したスキーマに変更する。 BLUDB.BLUADMIN(BLUADMIN)=> set schema test_schema; バックスラッシュコマンド実⾏例 bluadminスキーマ上の表、VIEW⼀覧を出⼒ 特定表のDDL定義を参照する
  47. 47. IBM Cloud © 2017 IBM Corporation dbsql によるテーブル操作 • 例) テーブル作成 − 例) BLUDB.M_TEST(BLUADMIN)=> create table t1 (c1 integer,c2 integer); CREATE TABLE BLUDB.M_TEST(BLUADMIN)=> ¥dt List of relations Schema | Name | Type | Owner ----------+----------------------+-------+---------- M_TEST | BLADE_SESSION_LOG_V3 | TABLE | BLUADMIN M_TEST | T1 | TABLE | BLUADMIN (2 rows) BLUDB.M_TEST(BLUADMIN)=> insert into t1 values(1,1),(2,2); INSERT 0 2 BLUDB.M_TEST(BLUADMIN)=> $ create table <テーブル名> (<列名> <データ型>, <列名>, <データ型>); テーブル作成 作成済のテーブルを表⽰ (※)内部スラッシュ・コマンドについては次ページで紹介 作成したテーブルへ、データ挿⼊ 47
  48. 48. IBM Cloud © 2017 IBM Corporation コマンドライン接続環境(dbsql/CLP/clpplus) • コマンドラインからDB接続するには、以下の選択肢がある − 1. Db2 Warehouseコンテナに直接ログイン - コンテナOSにDBユーザーでログイン、コマンドを実⾏ − 2. Db2 Warehouse クライアント・コンテナー - Docker Store/Hub に登録されているコンテナを⼊⼿ - Db2クライアントのセットアップが不要である点がメリット - dbsql/dbload/db_migrate などのNetezzaユーザ向けユーティリティーも利⽤可能 - クライアント・コンテナーのセットアップ⽅法は本資料のPxxを参照 − 3. Db2クライアント - 既存のDb2クライアント環境があり、CLP/CLPPlusしか利⽤しない場合は、 こちらが最もシンプルかつ簡単 48
  49. 49. IBM Cloud © 2017 IBM Corporation Db2 Warehouse クライアント・コンテナー 49 Db2® Warehouse クライアント・コンテナーは、Db2 Warehouse への移⾏、運⽤、保守を⾏うための複数のツールを備 えたリモート・シェル環境として利⽤できます。このコンテナーは、Db2 Warehouse 製品イメージが含まれているコンテ ナーとは別のコンテナーです。 クライアント・コンテナーには以下のツールが含まれています。 1). IBM® Data Server Client IBM Data Server Client には、Db2 CLPが含まれており、通常のDb2と同様にDb2 Warehouseへの接続ツールとして 利⽤可能です。Data Server Clinetの導⼊⽅法はこちらを参照ください。Data Server Clientの導⼊⽅法はDb2と同様です。 2). Db2 サポート・ツール IBM Db2 サポート・ツール (別名 dbtoolkit) は、IBM PureData® System for Analytics (Netezza®) アプライアンスに付属する スクリプトとユーティリティーの集合に相当するものです。これらのスクリプトおよびユーティリティーは、多くの⼀般的なデータベース 管理者タスクに役⽴ちます。dbtoolkit には、Netezza の nzsql コマンドに似た dbsql が含まれています。 これを使⽤して、Db2 Warehouse データベースに接続してコマンド・ライン・インターフェースから照会を実⾏することができます。 dbtoolkit には、Netezza のデータベースまたは表を Db2 Warehouse にコピーする db_migrate ユーティリティー、モニタリング⽤の dsmtop コマンド、およびデータ・ロード⽤の dbload コマンドも含まれています 3).IBM Database Harmony Profiler IBM Database Harmony Profiler を使⽤すると、IBM PureData System for Analytics アプリケーションおよび Oracle アプリケーション のDb2 Warehouse との適合性を評価できます。 また、IBM Database Harmony Profilerでは、Db2 Warehouse で使⽤できるように SQL を変換することもできます。 詳しくは、Introducing Database Harmony Profilerを参照してください。
  50. 50. IBM Cloud © 2017 IBM Corporation Db2 Warehouse クライアント・コンテナー導⼊⼿順 50 クライアント・コンテナーは、Docker Store、Docker Hub、および Box で提供されています。Docker Store にある クライアント・コンテナーを使⽤する場合は、次の⼿順に従って、Docker Store にあるクライアント・コンテナーを⼊⼿ します。 (下記はLinux OS環境へのセットアップ例です。事前にDockerの導⼊が必要です。) 1.Docker ID を取得します。 2.Docker Store にログインします。 3.IBM Db2 Warehouse クライアント・コンテナーを検索します。 4.検索結果で「IBM Db2 Warehouse client container」ボックスをクリックします。 5.「チェックアウトに進む」をクリックします。 6.連絡先情報を記⼊して使⽤条件に同意し、「内容の取得」をクリック、セットアップ⼿順を確認します。 7.Docker Hub または Docker Store にあるコンテナーを使⽤する場合は、次のコマンドを発⾏します。 (rootユーザーで実⾏、Dockerセットアップ済環境であることが前提) # docker login -u=docker_hub_id -e=email-p='password' 8. docker run コマンドを発⾏します。-v /mnt/tools:/mnt/clientdir パラメーターの /mnt/tools パスは、参考例です。 POSIX 準拠の任意のファイル・システムを使⽤できます。[]はオプション指定できます。 # docker run -dit --net=host --privileged=true -v /mnt/tools:/mnt/clientdir [-v /mnt/clusterfs/home/db2inst1:/mnt/blumeta0/home/db2inst1] --name=client [-e REMOTE_DB=server:userid:password] store/ibmcorp/db2wh_ee:v2.3.0-db2wh_client-linux
  51. 51. IBM Cloud © 2017 IBM Corporation Db2 Warehouse クライアント・コンテナー導⼊⼿順 51 クライアント・コンテナーから dbload コマンドを使⽤してローカルにロードする場合 (Db2 Warehouseデータベースを 配置したのと同じホスト・マシンからロードする場合) は、-v /mnt/clusterfs/home/db2inst1:/mnt/blumeta0/home/db2inst1 パラメーターを指定します。ローカルにロードする⽅法については、『dbload コマンド』を参照してください。 -e REMOTE_DB パラメーターを使⽤すると、デプロイメント・プロセスの⼀環としてリモート Db2 Warehouse データ ベースをカタログできます。 server には、リモート Db2 Warehouse データベース・サーバーのホスト名または IP アド レスを指定します。userid と password には、Db2 Warehouse のユーザーとパスワードを指定します。この⼿順で docker run コマンドに -e REMOTE_DB パラメーターを指定しなかった場合は、コンテナー・ツールを使⽤する前に db_catalog コマンドを指定する必要があります。 ログ出⼒を参照して、デプロイメントが正常に進⾏していることを確認します。次のコマンドを発⾏します。 docker logs --follow client 出⼒例を次に⽰します。 [15337547.001107] start_dashDB_local_client.sh[167]: ######################################################################## [15337547.001185] start_dashDB_local_client.sh[167]: ### The IBM Db2 Warehouse client container was deployed successfully ### [15337547.001246] start_dashDB_local_client.sh[167]: ######################################################################## [15337547.001304] start_dashDB_local_client.sh[167]: * If you used Docker logs to monitor progress, detach from the console [15337547.001363] start_dashDB_local_client.sh[167]: by pressing Ctrl+C. [15337547.001420] start_dashDB_local_client.sh[167]: * To get a command line and use the client container, issue the following command: [15337547.001480] start_dashDB_local_client.sh[167]: docker exec -it client cli [15337547.001543] start_dashDB_local_client.sh[167]: #######################################################################
  52. 52. IBM Cloud © 2017 IBM Corporation Db2 Warehouse クライアント・コンテナー導⼊⼿順 52 コンテナーをデプロイしたら、次のコマンドを実⾏してコンテナーに接続します。実⾏後各種クライアントツールの実⾏が可能です。 docker exec -it client cli IBM Db2 Warehouse の db_catalog コマンド Db2 Warehouse クライアント・コンテナーのツールで使⽤できるように、リモート Db2 Warehouse データベースをカタログします。 このコマンドは、クライアント・コンテナーのデプロイ時に docker run コマンドに -e REMOTE_DB server:userid:password パラメーターを指定する代わりに使⽤できます。 IBM Db2 Warehouse クライアント・コンテナーの commands コマンド クライアント・コンテナーに含まれているすべてのコマンドとツールを、それぞれについての簡単な説明とともにリストします。 IBM Db2 Warehouse クライアント・コンテナーの更新 Db2 Warehouse クライアント・コンテナーを更新するには、新しいコンテナーを Docker Store、Docker Hub、または Box から ダウンロードします。 Db2 Warehouse クライアントコンテナ上のツール使⽤にあたっては下記のガイドを参考ください。
  53. 53. IBM Cloud © 2017 IBM Corporation 53https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.doc/reference/admin_cmds.html IBM® Db2 Warehouse の管理コマンド ホストのコマンド・ラインでは、いくつかの管理コマンドを使⽤できます。 管理コマンドはすべて root 権限が必要です。 docker exec -it Db2wh status コマンドを発⾏し、出⼒の「IBM Db2 Warehouse Cluster Status」セクションにあるホストを⾒つけることによって、 ヘッド・ノード・ホストを識別できます。 •IBM Db2 Warehouse の commands コマンド Db2 Warehouse に固有のコマンドのリストを表⽰します。 •IBM Db2 Warehouse の configure_ldap コマンド 認証と許可のための外部 LDAP サーバーに対するクライアントとして動作 するように Db2 Warehouse を構成します。 •IBM Db2 Warehouse の clpplus コマンド Db2 Warehouse コンテナーの組み込みバージョンの CLPPlus との対話式 CLPPlus セッションを開始します。 •IBM Db2 Warehouse の dashlicm コマンド Db2 Warehouse の実動ライセンスを適⽤します。 •IBM Db2 Warehouse の dbdiag コマンド 診断データを収集します。 •IBM Db2 Warehouse の dbhealth コマンド Db2 Warehouse の正常性をチェックします。 •IBM Db2 Warehouse の get_system_info コマンド Db2 Warehouse デプロイメントのシステム情報を表⽰します。 •IBM Db2 Warehouse の get_webconsole_url コマンド Db2 Warehouse イメージがデプロイされたホストの IP アドレスとポート 番号を表⽰します。 •IBM Db2 Warehouse の getlogs コマンド IBM サポートに送信するために、Db2 Warehouse の診断データおよびログ・ファイルを収集し、 それらを 1 つの圧縮ファイルにまとめます。 •IBM Db2 Warehouse の livy-server コマンド Db2 Warehouse とともにデプロイされる Livy サーバーを管理します。 •IBM Db2 Warehouse の manage_hadr コマンド SMP 環境でさまざまな HADR タスクを管理します。 •IBM Db2 Warehouse の setpass コマンド Db2 Warehouse の bluadmin ユーザーのパスワードを変更します。 •IBM Db2 Warehouse の setup_hadr コマンド SMP 環境で HADR をセットアップします。 •IBM Db2 Warehouse の start コマンド すべての Db2 Warehouse サービスを開始します。 •IBM Db2 Warehouse の status コマンド サービス開始状況、ノードの詳細、およびクラスターの正常性を含む、Db2 Warehouse のデプロ イメントの状況を提供します。 •IBM Db2 Warehouse の stop コマンド すべての Db2 Warehouse サービスを正常に停⽌します。 •IBM Db2 Warehouse の version コマンド 現在デプロイされている Db2 Warehouse イメージのバージョンを表示します。
  54. 54. IBM Cloud © 2017 IBM Corporation 参考資料 54 IBM Db2 Warehouse on Cloud, IBM Db2 Warehouse, IBM Integrated Analytics System Knowledge Center https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.kc.doc/welcome.html IBM Db2 Warehouse デプロイ (⽇本語版) https://www.ibm.com/support/knowledgecenter/ja/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/local_setup.html
  55. 55. IBM Cloud © 2017 IBM Corporation ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を 意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないもの とします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者か らいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰するものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会ま たはその他の要因に基づいてIBM独⾃の決定権をもっていつでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始 する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図したものでも、またそのような結果を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマーク を使⽤した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事 項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、[以下当該情報に関連し商標リスト中に掲載されたIBMブランドやIBMの製品名称があれば追加する]は、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名および サービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml をご覧ください。 Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの⽶国およびその他の国における登録商標または商標です。 IT Infrastructure LibraryはAXELOS Limitedの登録商標です。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Centrino, Intel Centrinoロゴ, Celeron, Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは⼦会社の⽶国およびその他の国における商標または登録商標です。 Linuxは、Linus Torvaldsの⽶国およびその他の国における登録商標です。 PowerLinux is a trademark of International Business Machines Corp. The registered trademark Linux is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis. Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの⽶国およびその他の国における商標です。 ITILはAXELOS Limitedの登録商標です。 UNIXはThe Open Groupの⽶国およびその他の国における登録商標です。 Cell Broadband Engineは、Sony Computer Entertainment, Inc.の⽶国およびその他の国における商標であり、同社の許諾を受けて使⽤しています。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の⽶国およびその他の国における商標または登録商標です。 Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの⽶国およびその他の国における商標です。 VMware, the VMware logo, VMware Cloud Foundation, VMware Cloud Foundation Service, VMware vCenter ServerおよびVMware vSphereは、VMware, Inc.またはその⼦会社の⽶国およびその他の地域における登録商標または商標です。 55

×