このページでは Teiid のインストール手順を解説する。
Teiid に関する他のページはTeiid Data Virtualization の覚え書きのインデックスからたどれる。
Notice
Teiid 8.13 リリース以降は、Teiid Server の動作基盤が JBoss EAP ではなく、JBoss EAP の OSS 版の WildFly に変更された。 同梱版も WildFly になっている。 JBoss EAP と WildFly で差はほとんどない。 一部の説明を JBoss EAP → WildFly に読み替えて欲しい。
また一部の画像が古いバージョンになっているが適時読み替えて欲しい。
更新履歴
(2015.10.22) 作成。
(2016.05.04) Teiid 8.12.4 & Teii Designer 10.0 にアップデート
目次
- 1. インストール環境の前提
- 2. ファイルのダウンロード
- 3. Teiid Server のインストール
- 4. Teiid Designer のインストール
- 5. デフォルト・サーバーの登録・設定
- コメント
1. インストール環境の前提
Teiid の一般的な使い方では Teiid Server と Teiid Designer の二種類のソフトが必要である。 このインストールメモでは Teiid Server を x86-64 の Linux (CentOS 6.7) で走らせる。 Teiid Designer は Teiid Server が動くのと同じサーバーで動かしてもよい。 このインストールメモでは同サーバーで動かすパターン(以下、「同一サーバー運用」と呼称)と別サーバーで動かすパターン(以下、同一「別サーバー運用」と呼称)の2つを説明する。 別サーバー運用の場合、Teiid Designer は別の x86-64 の Windows 7 で動かす前提で説明する。 両方のサーバーに事前に JDK 1.7 以上の Java をインストールしておくものとする。
インストールは同一サーバー運用の方が簡単である。 ただ Linux 上で動く Teiid Designer は X Window System 上に描画するので、インストールする Linux サーバーが遠隔地にある場合、X の画面を飛ばせる必要がある。
IP アドレス | OS | |
---|---|---|
Teiid Server と Teiid Designer を インストールするサーバー | 10.20.230.16 | CentOS 6.7 |
IP アドレス | OS | |
---|---|---|
Teiid Server を インストールするサーバー | 10.20.230.16 | CentOS 6.7 |
Teiid Designer を インストールするサーバー | 10.20.230.6 | Windows 7 |
同一サーバー運用でも別サーバー運用でも、2. ファイルのダウンロード、3. Teiid Server のインストール、4. Teiid Designer のインストール までは同じである。 その後、5. デフォルト・サーバーの登録・設定を行うが、同一サーバー運用の場合と別サーバー運用の場合では手順が異なる点に注意が必要。
2. ファイルのダウンロード
最初に、インストールする Teiid Designer と Teiid Server のバージョンを決定する必要がある。 この 2 つのソフトは別々に開発されており、Teiid Designer は最新の Teiid Server をサポートしていないことがある。 この記事を書いている時点で Teiid Designer は 10.0 がリリースされ、一方 Teiid Server は 8.13.4 がリリースされている。 しかし Teiid Designer 10.1 がサポートしてるのは Teiid Server 8.12 までとなる。 そこでこのインストールメモでは 8.12 系最新の 8.12.4 を使う。
バージョン | |
---|---|
Teiid Designer | 10.0 |
Teiid Server | 8.12.4 |
2.1 Teiid Server ファイルのダウンロード
Teiid Server のダウンロードページは Downloads である。 古いバージョンが必要な場合は、All prior releases から探す。
ダウンロードするファイルは複数存在する。
モジュール | 説明 |
---|---|
Teiid Runtime | Teiid Server の本体。 x.y.z with EAP (ファイル名は teiid-x.y.z-server.zip) と x.y.z (ファイル名は teiid-x.y.z-jboss-dist.zip)の 2 種類がある。 Teiid は JBoss Enterprise Application Server (EAP) のモジュールとして動作するが、前者は JBoss EAP に Teiid Runtime その他が同梱されており、後者は JBoss EAP をインストールした後に展開するパッチになっている。 どちらかをダウンロードすること。 ただし前者を用いる場合には、JBoss EAP もダウンロードすること。 JBoss EAP は このサイト にレジストリした JBoss EAP 6.4 をダウンロードする。 この手順では ZIP 形式のファイル jboss-eap-6.4.0.zip を入手した前提で進める。 |
Teiid Embedded | Teiid を JBoss EAP 上で動かすのではなく、自作の Java プログラムの中から呼び出せるようにしたライブラリ。
ファイルは teiid-x.y.z-embedded-dist.zip という名前。 このインストールメモでは使用しない。 |
Teiid AdminShell |
Teiid Server へ接続して操作するためのコマンドラインツール。 ファイルは teiid-x.y.z-adminshell-dist.zip という名前。 Teiid Designer なしでデータソースの登録などをするために必要なので、ダウンロードすること。 |
JDBC Driver |
Teiid Server に JDBC 経由でアクセスするためのドライバー。
ファイルは teiid-x.y.z.Final-jdbc.jar という名前。 Teiid Server のインストールとセットアップが完了後に、クライアントからクエリーを発行するために必要なので、ダウンロードすること。 同様に 1.5 Client Driver と 1.4 Client Driver は JDK 1.5 と JDK 1.4 からアクセスするためのドライバーだが、このインストールメモでは使用しない。 |
Teiid Source | ソースコード。 このインストールメモでは使用しない。 |
Release Notes / Change Log | Release Notes と Change Log。 このインストールメモでは使用しない。 |
Teiid Web Console |
JBoss EAP 上で動作し、Web 経由で Teiid Server の設定をするための Web-UI 機能。
Teiid のバージョンとは独立しており、この記事を書いた時点で最新は 2.6.1。
ただし Teii Server 8.12.4 は 2.5.1 を必要とする。
ファイルは teiid-console-dist-2.5.1-jboss-as7.zip という名前。 このインストールメモで使用するのでダウンロードすること。 ただし Teiid Runtime で x.y.z with EAP の同梱版をダウンロードした場合には、その中に含まれているので個別にダウンロード & インストールする必要はない。 |
Teiid RHQ Plugin | なんだろう? このインストールメモでは使用しない。 |
2.2 Teiid Designer ファイルのダウンロード
Teiid Designer は JBoss Developer Studio のプラグインとして開発されているので、JBoss Developer Studio のサイトから JBoss Developer Studio 9.0.0 をダウンロードする。 ここではダウンロードできたファイルは jboss-devstudio-9.0.0.GA-installer-standalone.jar として話を進める。
3. Teiid Server のインストール
このインストールメモでは Teiid Server 自体は CentOS 6.7 for x86-64 上で動かすものとする。 JDK 1.7 以上の Java がインストールされ、java コマンドにもパスが通っているものとする。
3.1 ファイルの展開
Teiid Runtime のダウンロードしたバージョンに合わせて JBoss EAP 同梱版か別立て版のいずれかのファイル展開を行う。 このインストールメモでは ~/teiid ディレクトリの下に展開する。 なお JBoss EAP 同梱版は ~/teiid/teiid-8.12.4/、JBoss EAP 別立て版は ~/teiid/jboss-eap-6.4/ というディレクトリに展開されるが、今後の説明は ~/teiid/jboss-eap-6.4/ の下に展開された前提で進める。
Problem
別サーバー運用の場合、JBoss EAP 同梱版だと 5.2 節 のデフォルト・サーバーの起動でエラーが出て動作しない。 とりあえず別立て版を使った方がよさそう。
同一サーバー運用の場合、同梱版の方がよいであろう。
JBoss EAP 同梱版の場合
JBoss EAP の Teiid 同梱版は JBoss EAP + Teiid Runtime + Teiid Web Console が入っている。 これを ~/teiid の下に展開すると ~/teiid/teiid-8.12.4/ というディレクトリが作成される。
$ cd ~/teiid $ unzip -x (ファイルを置いているディレクトリ)/teiid-8.12.4-server.zip
以降の説明に合わせるためにディレクトリはリネームしておく。
$ mv ~/teiid/teiid-8.12.4/ ~/teiid/jboss-eap-6.4/
JBoss EAP 別立て版の場合
JBoss EAP、Teiid Runtime 、Teiid Web Console を展開する。 JBoss EAP を ~/teiid の下に展開すると ~/teiid/jboss-eap-6.4/ というディレクトリが作成される。
$ cd ~/teiid $ unzip -x (ファイルを置いているディレクトリ)/jboss-eap-6.4.0.zip $ cd ~/teiid/jboss-eap-6.4/ $ unzip -x (ファイルを置いているディレクトリ)/teiid-8.12.4-jboss-dist.zip $ unzip -x (ファイルを置いているディレクトリ)/teiid-console-dist-2.5.1.Final-jboss-as7.zip
teiid-8.12.4-jboss-dist.zip と teiid-console-dist-2.5.1.Final-jboss-as7.zip を展開する時にファイルを上書きするか聞かれるが、全て Yes と答える。
3.2 アカウントの作成
Teiid を動作させるためには管理ユーザーとアプリケーションユーザーを一つづつ設ける必要がある。 管理ユーザーは Teiid Server の管理コンソールへのログインや、Teiid Designer から Teiid Server の動いている JBoss EAP へアクセスするために使用する。 デフォルトでは管理ユーザーはユーザー名 admin を要求する。 アプリケーションユーザーは Teiid Designer が Teiid Server へ VDB をデプロイする場合などに利用する。 デフォルトではアプリケーションユーザーはユーザー名が user でパスワードも user となる。
このインストールメモでは管理ユーザーとしてユーザー名 admin を作成する。 パスワードはアルファベット・数字・記号の混ざったものでないと受け付けないので、ここでは fSD+-GtdF9 とする。
~/teiid/jboss-eap-6.4/bin/ の下にある add-user.sh を実行し、ユーザータイプを「a) 管理ユーザー」としユーザー名とパスワードを入力する。 所属グループは空白でよい。
$ cd ~/teiid/jboss-eap-6.4/bin/ $ ./add-user.sh どのようなユーザータイプを追加しますか? a) 管理ユーザー (mgmt-users.properties) b) アプリケーションユーザー (application-users.properties) (a): a 追加する新規ユーザーの詳細を入力します。 レルム 'ManagementRealm' を既存のプロパティーファイルで見つかったとおりに使用しています。 ユーザ名 : admin ユーザー名 'admin' は簡単に推測できます。 'admin' を本当に追加しますか?yes/no? yes パスワード : fSD+-GtdF9 パスワードを再度入力してください。 : fSD+-GtdF9 このユーザーが所属するグループはどれですか? (カンマ区切りリストを入力してください。所属グループがない場合は空白のままにしてください。)[ ]:空白 レルム 'ManagementRealm' にユーザー 'admin' を追加します。 正しいですか yes/no? yes
このインストールメモではアプリケーションユーザーはユーザー名 user を作成する。 パスワードを user としたいが強度が不足すると弾かれるので、ここでは fSD+-GtdF9 とする。
~/teiid/jboss-eap-6.4/bin/ の下にある add-user.sh を実行し、ユーザータイプを「b) アプリケーションユーザー」としユーザー名とパスワードを入力する。 所属グループは空白でよい。
$ ./add-user.sh どのようなユーザータイプを追加しますか? a) 管理ユーザー (mgmt-users.properties) b) アプリケーションユーザー (application-users.properties) (a): b 追加する新規ユーザーの詳細を入力します。 レルム 'ApplicationRealm' を既存のプロパティーファイルで見つかったとおりに使用しています。 ユーザ名 : user パスワード : fSD+-GtdF9 パスワードを再度入力してください。 : fSD+-GtdF9 このユーザーが所属するグループはどれですか? (カンマ区切りリストを入力してください。所属グループがない場合は空白のままにしてください。)[ ]:空白 レルム 'ApplicationRealm' にユーザー 'user' を追加します。 正しいですか yes/no? yes
Tips: パスワードの強度チェックを外す
~/teiid/jboss-eap-6.4/bin/ の下に add-user.properties というファイルがある。 このファイル内に password.restriction=REJECT という行があるが、これを password.restriction=RELAX に変更すると、パスワード時の強度チェックが行われなくなる。
3.3 standalone-teiid.xml の編集
~/teiid/jboss-eap-6.4/standalone/configuration/standalone-teiid.xml が Teiid Server を含めた JBoss EAP の起動設定ファイルになる。 この設定ファイルの中で 127.0.0.1 になっている箇所を、Teiid Server を動かすサーバーの外向きの IP アドレス(このインストールメモでは 10.20.230.16) へ変更する。
3.4 JavaVM オプションの指定
JBoss EAP は Java VM 上で動作するが、この Java VM のメモリ量の指定等は ~/teiid/jboss-eap-6.4/bin/ の下にある standalone.conf で行う。 Java VM のメモリ量を増やしたい場合には standalone.conf を編集する。
JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
3.5 Teiid Server の起動
以上で Teiid Server のインストールは終わり。 ~/teiid/jboss-eap-6.4/standalone/configuration/ をホームディレクトリにして、~/teiid/jboss-eap-6.4/bin/standalone.sh を起動する。
$ cd ~/teiid/jboss-eap-6.4/standalone/configuration/ $ ../../bin/standalone.sh -c standalone-teiid.xml
正常に起動すれば Teiid Web Console が使えるようになっている。 Teiid Server 動作しているサーバー(このインストールメモでは 10.20.230.16) のポート 9990 番にアクセスするとユーザー名とパスワードを要求されるが、3.2 節 で登録した管理ユーザーのアカウントを入力する。 ログインが成功すると http://10.20.230.16:9990/console/App.html へ転送され、同梱版の場合は WildFly + Teiid 8.11 と表示される。 Teiid が 8.11 とバージョンが古いのは気にする必要がない。
4. Teiid Designer のインストール
Teiid Designer は Java が動作すれば Windows にでも Linux にでもインストールすることは可能である。 手順はほとんど変わらないので、適時読み替えて欲しい。
4.1 JBoss Developer Studio のインストール
Teiid Designer をインストールするサーバーで、JBoss Developer Studio(以下、jdevstudio) のインストーラーを実行し、適当なディレクトリにインストールする。
C:\Users\nminoru> "C:\Program Files\Java\jre1.8.0_60\bin\java.exec" -jar jboss-devstudio-9.0.0.GA-installer-standalone.jar
4.2 Teiid Designer プラグインのインストール
jdevstudio を起動し、Help の下にある Install New Software を選択。 Install ダイアログが表示されたら、Add ボタンから下の 2 つのソフトウェアサイトをリポジトリとして登録する。
ソフトウェアサイトに付ける Name は適当なものでよいが、Location は正確である必要がある。
Name | Location |
---|---|
JBoss Tool Luna compatible update site | https://devstudio.redhat.com/9.0/development/updates/integration-stack/earlyaccess |
Teiid Designer 10.0 | http://download.jboss.org/jbosstools/updates/release/mars/integration-stack/teiiddesigner/10.0.0.Final/ |
2 つのソフトウェアサイトの登録が終わった後に、Work with: を "Teiid Designer 10.0" を指定する。 "Data Virtualization" をチェックボックスをチェックし、配下に出てくるソフトウェアを全てインストールする。
インストールが完了すると、jdevstudio の再起動が促されるので再起動する。
4.3 ソフトウェア・アップデート
jdevstudio の再起動後は JBoss Central のパースペクティブの "Software/Update" のタグを押し、タブ内に "JBoss Data Virtualization Development" を探す。 バージョンによっては "JBoss Data Virtualization Development" が出現しないこともある。 "JBoss Data Virtualization Development" がある場合はチェックボックスをチェックし、その後に "Install/Update" のボタンを押してアップデートを行う。
アップデートが完了すると、jdevstudio はまた再起動が促されるので再起動する。
5. デフォルト・サーバーの登録・設定
Teiid を利用するためには Teiid Designer で作成した VDB を Teiid Server にデプロイ(deploy)するが、そのためには Teiid Designer に少なくとも一つの Teiid Server の登録する必要がある。 この Teiid Server を デフォルト・サーバー(Default Server) となる。
Teiid Designer から見てデフォルト・サーバーの運用方法は2つある。
- デフォルト・サーバーは普段は止めていて、Teiid Designer を立ち上げた後にユーザー操作で Teiid Server を立ち上げる方法である。 実際には Teiid Server を含んだ JBoss EAP を立ち上げることになる。 Teiid Designer が終了する時は、Teiid Server (JBoss EAP) も終了させる。 Teiid Designer と Teiid Server は同一サーバーで動いていれば、Teiid Designer は直接 JBoss EAP のシェルスクリプトを起動するが、異なるサーバーで動いている場合には SSH などでログインして操作する。
- デフォルト・サーバーは Teiid Designer とは関係なく起動しており、Teiid Designer が起動後に Teiid Server に接続に行く方法である。 こちらの方が運用のイメージに近い。
この 2 種類の設定は、後で出てくる "Server lifecycle is externally managed." をチェックするかしないかで決まる。
同一サーバー運用の場合は 1. を、別サーバー運用の場合は 2. を使う。 1. の場合は Teiid Server を止めた状態から開始すること。 2. の場合は Teiid Server を動かした状態から開始すること。
5.1 デフォルト・サーバーの登録
メニューバーの "Window" → "Perspective" をクリックし、"Teiid Designer" を選択すると Teiid Designer のパーセクティブが表示される。 この時、"Model Explorer" の下の方に "Default Server" が表示されているが、これが No default server defined になっているので、このリンクをクリックすると、デフォルト・サーバーの登録へ進む。
続くデフォルト・サーバーの設定は同一サーバー運用の場合は 5.1.1 を、別サーバー運用の場合は 5.1.2 を実行すること。
5.1.1 同一サーバー運用の場合
"New Server" というダイアログが登場し、JBoss のサーバータイプと "Server's host name" と "Server name" を求められる。 3章でインストールした Teiid Server は JBoss EAP 6.4 なので、一番近い "JBoss Enterprise Application Platform 6.1+" を選択する。 "Server's host name" は localhost を指定する。 "Server name" はデフォルト・サーバーの名前になる。 Teiid 内の識別子なので任意の名前を付けてよい。 名前を決めたら "Next" をクリックして次に進む。
次に「新規JBossサーバーを作成します」と出る。 これに以下のように設定する。
- "The server is:" は、Teiid Designer と Teiid Server を同一のサーバーで動かしているので "Local" を選択する。
- "Controlled by:" は、"Filesystem and shell operations" を選択する。
- このインストールメモでは Teiid Server は Teiid Designer とは連動して起動するので、"Server lifecycle is externally managed." のチェックを外す。
"Next" をクリックして次に進む。
次に「JBoss Runtime」と出る。 これに以下のように設定する。
- "Home Directory" は、3.1 節 で指定したディレクトリを指定する。 右端の "Browse..." を押すとファイルブラウザダイアログが表示されるのでクリックして ~/teiid/jboss-eap-6.4 を指定する。
- "Runtime JRE" は以降 Teiid Server を動かす JavaVM を指定する。デフォルト以外の JRE を使いたい場合には "Alternate JRE" を指定する。デフォルトが JDK 1.7 以上であれば選択する必要はない。
- "Remote Server Configuration Files:" は 3.5 節 で起動に使う XML 設定ファイルを指定する。 これは standalone-teiid.xml になる。 これも右端の "Browse..." を押してファイルブラウザダイアログから選択する。
最後に "Finish" を押す。 ここまでで "Default Server" の登録が完了する。
5.1.2 別サーバー運用の場合
"New Server" というダイアログが登場し、JBoss のサーバータイプと "Server's host name" と "Server name" を求められる。 3章でインストールした Teiid Server は JBoss EAP 6.4 なので、一番近い "JBoss Enterprise Application Platform 6.1+" を選択する。 "Server's host name" は Teiid Server の IP アドレス(このインストールメモでは 10.20.230.16) を指定する。 "Server name" はデフォルト・サーバーの名前になる。 Teiid 内の識別子なので任意の名前を付けてよい。 名前を決めたら "Next" をクリックして次に進む。
次に「新規JBossサーバーを作成します」と出る。 これに以下のように設定する。
- "The server is:" は、Teiid Designer と Teiid Server を別々のサーバーで動かしているので "Remote" を選択する。
- "Controlled by:" は、"Management Operations" を選択する。
- このインストールメモでは Teiid Server は Teiid Designer とは独立して起動するので、"Server lifecycle is externally managed." のチェックを付ける。
- "Assign a runtime to this server" のチェックを外す。
"Next" をクリックして次に進む。
次に "Remote System Integration" と出る。 最初は "Local" が選択されているが、"New Host..." をクリックする。
"New Connection" というダイアログが出現し、"Select Remote System Type" と聞かれる。 Teiid Server が動いているのは CentOS 6 マシンだが SSH でアクセスするので "SSH Only" を選択し、"Next" をクリックして次に進む。
次に "Remote SSH Only System Connection" と出る。 ここで "Host name:" に Teiid Server を動かしているサーバーのホスト名か IP アドレスを入力する。 "Connection name:" は何を埋めていいのかよく分からないが、とりあえず "Host name:" を入れている。 "Parent profile:" に出ているホスト名は、Teiid Designer を動かしているマシン名が自動的に入るが特に意味はない。 この後、"Next" を押すと SSH に関する幾つかの詳細設定を指定可能だが、特殊な環境でなければ "Finish" を押して次に進む。
"Remote System Integration" に戻ってくるが、"Host:" は今登録した SSH Only サーバーが登録されている。 次に Teiid Server 側のディレクトリ・設定ファイルを登録する。
- "Remote Server Home:" は 3.1 節 で指定したディレクトリを指定する。 右端の "Browse..." を押すと SSH Only サーバーのディレクトリが表示されるのでクリックして ~/teiid/jboss-eap-6.4 を指定する。
- "Remote Server Base Directory:" はそのままよい。
- "Remote Server Configuration Files:" は 3.5 節 で起動に使う XML 設定ファイルを指定する。 これは standalone-teiid.xml になる。 これも右端の "Browse..." を押して SSH Only サーバーのディレクトリが表示の中から選択する。
ただし初めて "Browse..." を押すと、SSH のパスワードが要求される。 自動的にログインが可能なようにここで登録する。
最後に "Finish" を押す。 ここまでで "Default Server" の登録が完了する。
Tips
Teiid はいったん SSH のパスワードを登録すると、パスワードが間違っていてログインできない場合でも再入力を求めてこない。 この場合、記憶されたパスワードをいったん削除する必要がある。 メニューバーから "Window" → "Preferences" をクリックし、Generals → Security → Security Storage を選択する。 org.eclipse.rse.core.security の下にある org.eclipse.rse.systemtype.ssh の下にパスワードを登録したユーザー名が並んでいるのでこれを削除する。
またいったん登録したサーバーを削除する場合、jdevstudio の perspective の Remote System Explorer を操作することで可能になる。
5.2 デフォルト・サーバーの設定
デフォルト・サーバーを登録すると "Servers" のタブに centos6 [Stopped, Synchronized] と表示され、この行をクリックすると登録サーバーの画面が出現する。 これは "Overview"、"Deployment"、"Teiid Instance" と 3 つのタブを持っている。
"Overview" の中ではまず「ログイン証明書」にある「ユーザー名」と「パスワード」を 3.2 節 で登録した管理ユーザーのアカウントを入力する。 デフォルトでは admin、admin が入っている。
5.3 デフォルト・サーバーの開始あるいは接続
ここまで確認できたら "Servers" タブの中のデフォルト・サーバーの行にカーソルを合わせて右クリックし、メニューの中から "Start" を選択する。 ここで Teiid Designer は Teiid Server と接続を確立し、表示が [Started] になる。
Note
このサーバーの [Stopped]、[Started] というのは、Teiid Designerが Teiid Server を起動・終了させるパターンの表示で、"Server lifecycle is externally managed." を選択した場合は意味的には disconnect、connected である。
最後にデフォルトサーバーの "Teiid Instance" タブを選択する。
- "Test Administration Connection" をクリックして、右側に OK と表示されることを確認する。 OK が出ない場合、これまでの手順に誤りがあった可能性が高い。
- "JDBC Connection" の "User name" と "Password" を 3.2 節 で登録したアプリケーションユーザーのアカウントを指定する。 その後、"Test JDBC Connection" をクリックして、右側に OK と表示されることを確認する。 OK が出ない場合、これまでの手順に誤りがあった可能性が高い。
以上で Teiid のインストールが完了である。 "Servers" からデフォルト・サーバーを [Started] から [Stopped] へ変更し、Teiid Designer を終わってよい。 Teiid Designer の次回起動時にはで登録されたデフォルト・サーバーの設定が残っている。
別サーバー運用の場合、Teiid Designer 側が終了できれば Teiid Server もシャットダウンして OK である。
インストールが終わった後は、Teiid とデータソースへの接続へ進む。