読者です 読者をやめる 読者になる 読者になる

TOKYO LIFE STYLE CORDINATION

おもしろきこともなき世をおもしろく

Oracle Endeca 2.3 インストール

oracle endeca

Oracle Endeca(2.3)にインストールに挑戦!!
OSはEnterprise Linux Enterprise Linux Server release 5.5の64bitを利用します。

Endecaのインストールに必要となるツール群はとりあえずOSの設定とあわせて設定済みですが、基本的なソフトウェアしか使わないようなので、いつもの面倒な作業がないのは楽ちん

EndecaがOracleに買収されたのが2011年10月のため、Oracleの製品になって一年もたっていないプロダクトで、BIツールとのこと…開発元は米Endeca Technologiesで受け売りは『さまざまなソースから探索と分析をする』プロダクトだって…インターネットをテロテロとみていると、分析モデルの準備が楽にできるところが売りようですが、そこら辺は自分で使ってみて確認していくしかないか。

それにしても、OracleのBIツールがまた増えた。BIEEとEPMとEndeca…この3つが今後どのように住み分けされていくのか楽しみは楽しみだけどな〜、そんな悠長なことを言ってられない気もします。

でわ、さくっとインストールをしょ。
OSにはインストール用ユーザをDBにならって作りました。多分必要ないと思うけど、root使うのは気がひけるから

# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle

次にjavaをインストールして、$JAVA_HOMEと$PATHを設定。

$ export JAVA_HOME=/usr/local/jdk1.6.0_32
$ export PATH=$JAVA_HOME/bin:$PATH

Endeca Server システム要件

CPU:64bitで1.8GHz以上
Memory:3Gbyte以上
HDD:80Gbyte以上

サポートされているOS

Linuxでは、OEL5とRHEL5の64bitでWindowsではWindows 2008 R2 x64。結構せまき門で64bitしかないところが、かなり潔い感じです。Windows7の本番環境利用はサポートしないけど、小さい環境を開発する際には十分つかえよ〜、でも、XPはサポートしないとのこと…64bit時代の流れについていけなくなってきてるんですね。

Linuxで必要となるユーティリティ群
  • basename
  • cat
  • chgrp
  • chown
  • date
  • dd
  • df
  • mkdir
  • more
  • rm
  • sed
  • tar
  • true
  • awk
  • cksum
  • cut
  • dirname
  • expr
  • gzip
  • head
  • id
  • perl
  • printf
  • tail
  • tr
  • wc
  • which
ソフトウェア要件

Integrator,Studioの要件

Endecaサーバと殆どかわらないと…

Endeca Server インストール

インストールディレクトリを/optの下にしたいので、
一旦/optのパーミッションを変更

# chmod 777 /opt

次にEndeca Serverインストール用のシェルを実行

$ ./ES_2.3.sh --target /opt

インストールが終わるとメッセージがでてきます。

Installation complete!

あっという間にインストールは終わるので、なんだか面白みは全然ないけど、これぐらい簡単なインストールに全部のプロダクトがなると嬉しいんだけど…
/opt/Oracle/Endeca/Server/2.3.0
インストール後のパスはこんな感じになりますが、optの下にOracleってせめて小文字にしてもらいたかったし、FMWとの共存のときにも、ディレクトリの階層がずれそうだな

インストール後の確認

とりあえず、サーバを起動

$ cd /opt/Oracle/Endeca/Server/2.3.0/endeca-server
$ chmod 755 *.sh
$ ./start.sh &
[1] 7221
$ ===================================
Starting Endeca Server on port 7770
===================================
2012-06-05 21:25:02.943:INFO:oejs.Server:jetty-8.0.1.v20110908
2012-06-05 21:25:02.968:INFO:oejdp.ScanningAppProvider:Deployment monitor /opt/Oracle/Endeca/Server/2.3.0/endeca-server/jetty-distribution-8.0.1.v20110908/webapps at interval 1
・
・
・

どうやらEndeca Serverはjetty上で動くみたいです…ここはjavaでなくて、普通のデーモンのほうがいい気がするのは、もう昔の考え方なのかな、最近こういうのをサーバにしてることが多いよな〜

次にデータストアを用意します。マニュアルに従ってデータストア名は「adventureworks」にしてます。

$ cd /opt/Oracle/Endeca/Server/2.3.0/endeca-cmd
$ ./endeca-cmd create-ds adventureworks
357167 [qtp637148086-13] INFO   [MkMdexRunner] Creating data store '/opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks'
357171 [qtp637148086-13] INFO   [ProcessHandler] Executing: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/dgraph/bin/mkmdex /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks 
369898 [qtp637148086-13] INFO   [MkMdexRunner] Created data store '/opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks'
370018 [qtp637148086-13] INFO   [DGraph] Starting data store 'adventureworks'
370038 [qtp637148086-13] INFO   [ProcessHandler] Executing: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/dgraph/bin/dgraph --out /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.out --pidfile /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.pid --log /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.reqlog --port 7771 --bulk_load_port 7772 /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks 
380718 [qtp637148086-13] INFO   [DGraph] Started data store 'adventureworks'

次に作成したデータストアの確認

$ ./endeca-cmd status-ds adventureworks
Current State: Started

Data Files: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks
WS Port: 7771
Bulk Load Port: 7772
Startup Timeout (s): 60
Shutdown Timeout (s): 60

どうやらちゃんと認識されているようです。
ついでにendeca-cmdは以下のようなことができる模様

Available commands:
   list-ds
   list-jobs
   status-ds
   stop-ds
   start-ds
   create-ds
   attach-ds
   detach-ds
   version

Integrator インストール

Integratorインストール用のシェルを実行

$ ./EID_2.3_Integrator_designer.sh --target /opt

インストールが終わるとさっきと同じメッセージがでてきます。

Installation complete!

インストールされたpathは/opt/Oracle/Endeca/Discovery/2.3.0/Integratorになります。

次にTomcatをインストールして、warの設定をするステップになるのですが、なんでここでTomcatが必要なのかいまいちつかみきれない…
この次に出てくるStudioのインストールでもjavaのコンテナが必要になるから、余計に理解しづらいです。
触っていくうちに解決するといいんだけどな…

tomcatってどこにインストールしてもいいと思うけど、どこにいれるのがわかりやすいのかな…/opt/Oracle/Endeca/Discovery/2.3.0/Integratorの下がいいと思うのですが、この配下ってどうやら、eclipseのディレクトリな気がするので、一階層上にtomcatを配置。

warファイルのデプロイをGUIでする場合には、tomcat-users.xml のタグにmanager roleと属するユーザの追加が必要

<tomcat-users>
  <role rolename="manager"/>
  <user username="tomcat" password="s3cret" roles="manager"/>
</tomcat-users>

Tomcatの起動(なんだかとっても懐かしい)

$ cd /opt/Oracle/Endeca/Discovery/2.3.0/tomcat-6.0.35/bin 
$ chmod 755 *.sh
$ ./catalina.sh start

Tomcatにアクセスして、以下のwarファイルのデプロイ

  • clover-license.war
  • clover.war

http://servername:port/clover/gui

上記URLでIntegrator Serverにアクセスできます。
デフォルトのユーザ/パスワードは『clover』
かっこいい感じのページが出現…なんとなく画面の文字をみてると、どんなことをしてくれそうか検討がつくGUIに好感を持ちました。
とりあえず、Integratorのインストール完了!!

Studio インストール

マニュアルをめくっていて、一番面倒くさそうな奴がStudioだったので、若干警戒して取り組んでいこう
Studioはアプリケーションサーバが結構選べるようです。
Tomcat 6とWAS 7とWeblogic 11gの3で、それぞれバージョンの意識が必要ぽい。
Tomcatの場合はStudioがバンドルされているものがあるようなので、楽チンそうですが、ここでもTomcatを利用すると8080ポートがデフォルトだとぶつかるね。

今回はOracleということでWeblogicでチャレンジ。若干道のりが長いですが
何はともあれ、Weblogicのインストールして、ドメインまでつくりましょう。

$ chmod 755 wls1036_generic.jar
$ java -jar -d64 wls1036_generic.jar
GUIでインストール開始
ドメイン作成
$ cd /opt/Oracle/Middleware/wlserver_10.3/common/bin
$ ./config.sh
Weblogic Serverの起動
$ cd /opt/Oracle/Middleware/user_projects/domains/endecastudio_domain
$ ./startWebLogic.sh(&をつける場合はboot.propertiesの設定をすること)
$ ./startManagedWebLogic.sh studio t3://10.74.1.171:7001(&をつける場合はboot.propertiesの設定をすること)

次にsetDomainEnv.shで設定されている$JAVA_OPTIONSに以下の4つのオプションを追加

-DUseSunHttpHandler=true
-XX:MaxPermSize=512m
-Xms256m
-Xmx1024m

endeca-portal-weblogic-2.3.earをGUIでデプロイするとliferay.homeが/opt/Oracle/Middleware/user_projects/domainsに設定されて、deploy,dataのディレクトリが生成されます。liferay.homeを変更するには、portal-ext.propertiesにディレクトリに設定すればいいよってマニュアルに書いてあるけど、どこにこのファイルを突っ込んでおけばよいかわからない…

このあとにデプロイしたアプリケーションを使って画面を確認するみたいなのですが、デフォルトのIDとパスワードがバンドル版じゃないから設定されていないとorz
なんんだかいきなりWeblogicでデプロイしたのが失敗だった気がします。もう少し慣れてきてからチャレンジしときゃよかった。とりあえず、Weblogicは眠らせておいて、バンドルTomcatで起動しよう

$ tar xzvf EID_2.3_Studio_portal.tgz
$ mv endeca-portal/ /opt/Oracle/Endeca/
$ cd /opt/Oracle/Endeca/endeca-portal/tomcat-6.0.29/conf
$ vi server.xml (portの変更)
$ cd /opt/Oracle/Endeca/endeca-portal/tomcat-6.0.29/bin
$ ./catalina.sh start

tomcatが起動したらhttp://server name : portにアクセス
ID/Passwordはadmin@oracle/admin

f:id:noririing:20120606123658p:image
f:id:noririing:20120606123659p:image

やっとの思いで画面がみれました。
慣れないせいか、結構長かったけど、かろうじて動くところまでできたので、今回はこれにて終了です。
お疲れ様です。

最後に

何ができるプロダクトなのかはわからないけど、とりあえず動かすことはできるようです。なんとなくIntegratorでデータを分析して、Integratorで生成したIndexなどをEndeca Serverで読み込んで、Portalで表示するとかの役割な気がしますが、どこにEndecaの強みがあるのかな…なんだかEPMと製品構造が似ている気がするのは気のせいです。