Disclaimer

Данный блог является моей личной точкой зрения и не обязательно отражает точку зрения Oracle.

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle

Поиск

Подписка

Инсталляция Real Time Decisions (RTD) для Weblogic 11g

27.08.2009 от aryndin99

Полную и вполне себе официальную инструкцию по инсталляции Oracle RTD под различные платформы можно найти http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13856/toc.htm. Ну или если в крайнем случае, то http://www.oracle.com/technology/documentation/rtd.html. По этим адресам лежат инструкции по инсталляции на 4 типа сервера: OC4J, Weblogic, JBoss и Websphere. Однако, в последнее время OC4J отмирает – так что стоит обратить свое внимание на использование Weblogic.

Итак, здесь я привел краткие выдержки об инсталляции Oracle RTD 3.0.0.1, взятой по адресу http://www.oracle.com/technology/software/products/ias/htdocs/101320bi.html. К сожалению, там один большой файл из которого нам понадобится только небольшая часть. Тем не менее качаем его весь.

Инсталляция базы данных Oracle

Для своей работы RTD требует базу данных. Из нее он будет брать необходимую для работы информацию. Инсталляция вполне стандартная – так что смотрим краткую инструкцию или полную.

Инсталляция Weblogic

Тоже делается вполне стандартно. Единственное, я не пробовал использовать JRockit, поэтому рекомендую использовать проверенный Sun JDK. Кроме того нет смысла инсталлировать домен с примерами.

После инсталляции необходимо прописать в начало переменной PATH путь к этому самому JDK:

PATH=JAVA_HOME/bin:$PATH
export PATH

Инсталляция RTD

1. Для инсталляции необходимо использовать дистрибутив RTD, соответствующий версии сервера приложений. Например, для Weblogic это файл rtd_3.0.0.1_WL_unix.cpio. Скопируем его на сервер и развернем командой

cpio –ivdm <rtd_3.0.0.1_WL_unix.cpio

Я положил этот файлик в каталог /u01/app/oracle/product/rtd/3.0.0.1 и в результате у меня. Внутри этого каталога у меня появился каталог OracleBI/RTD – его мы назовем RTD_HOME:

export RTD_HOME=/u01/app/oracle/product/rtd/3.0.0.1/OracleBI/RTD

Особенностью Weblogic является то, что его приложений нужно развертывать в распакованном(exploded) виде. Поэтому найдем внутри RTD_HOME каталог package с файлом RTD.ear, а затем распакуем этот файл в каталог exploded. Этот каталог обзовем

$RTD_RUNTIME_HOME=/u01/app/oracle/product/rtd/3.0.0.1/OracleBI/RTD/package/expanded

2. Создадим пользователя Oracle и табличное пространство для RTD

create tablespace rtd_ts datafile '/u01/app/oracle/oradata/orcl/rtd_ts01.dbf' size 100m;
create user rtd identified by oracle default tablespace rtd_ts quota unlimited on rtd_ts;
grant connect,resource to rtd;

Роль resource после окончания инсталляции можно будет забрать.

3. Инициализация базы данных (выполняется на Windows-компьютере)

Перед выполнением этого шага нужно проверить, что доступен пакет USER_LOCK. Создать пакет можно скриптом $ORACLE_HOME/rdbms/admin/userlock.sql

В полном дистрибутиве RTD (файл 3.0.0.1_RTD_OC4J_QZ.zip или rtd_3.0.0.1_WL_win.zip) есть инструменнт SDDB – с помощью него и осуществляется инициализация базы данных. Будем использовать SDDBTool.cmd.

image

Выберем базу данных Oracle и заполним необходимые параметры (в Oracle – Runtime User и Admin User будет один и тот же пользователь – так рекомендует документация).

image

Запустим инициализацию и проверим, что не возникло ошибок.

4. Инсталлируем схемы примеров

RTD_HOME\examples\CrossSell\etc\data\Oracle\initappdb.cmd.

RTD_HOME\examples\DC_Demo\etc\data\Oracle\initappdb.cmd

вызывать эти скрипты нужно с параметрами

InitAppDB RTD_HOME db_host db_port db_name db_runtime_user db_admin_user db_admin_password

5. Развертывание приложения на сервере.

5.1 Создаем домен для RTD

  • В диалоге Welcome, выбираем Create a new WebLogic Domain, Жмем Next.
  • В диалоге Domain Source, выбираем Generate a domain configured automatically to support the following products, Жмем Next.
  • В диалоге Specify Domain and Location задаем имя домена (RTD1) и путь к каталогу, где будет создан домен (/u01/app/oracle/user_projects), Жмем Next
  • В диалоге Configure Administration Username and Password, вводим имя администратора нового домена и его пароль (например, weblogic/welcome1), Жмем Next
  • В диалоге Configure Server Start Mode and JDK, выбираем режим работы (для тестирования лучше Development) и версию JDK (лучше Sun). Жмем Next
  • Опционально. В диалоге Select Optional Configuration выбираем  Administration Server, если хотим указать другой порт прослушивания, а не стандартный 7001. Жмем Next
  • Жмем Create и ждем завершения запуска.

5.2 Запускаем сервер Weblogic и менеджер узлом:

/u01/app/oracle/user_projects/RTD1/startWebLogic.sh

/u01/app/oracle/product/fmw/10.3.1.0/wlserver_10.3/server/bin/startNodeManager.sh

5.3 Создание управляемого (Managed) сервера

  • Заходим по адресу http://weblogic_host:port/console, вводим имя и пароль
  • Слева в дереве выбираем Environment >Servers
  • Создаем новый сервер и называем его, например, RTD_Server, указываем порт, который будет использован сервером
  • В настройках сервера Environment > Servers > managed_server_name > Configuration > Start Server tab прописываем параметры:
    Java Home:

    /u01/app/oracle/product/fmw/10.3.1.0/jdk160_11

    Java Vendor:

    Sun

    ClassPath:

    /u01/app/oracle/product/fmw/10.3.1.0/wlserver_10.3/server/lib/weblogic.jar:/u01/app/oracle/product/rtd/3.0.0.1/OracleBI/lib/jdbc/ojdbc14.jar

    Arguments:

    -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.sigmadynamics.emf.util.SDEMFRegistry -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=true -Dweblogic.wsee.skip.async.response=true -XX:MaxPermSize=256m -Dcom.sun.management.jmxremote.ssl=false

    image

5.4. Создаем машину машину и назначаем ей управляемый сервер:

  • Переходим Environment > Machines
  • Создаем новую машину с именем сервера
  • Заходим Environments > Machines > <Новая_машина>
  • На закладке Servers назначаем машине созданный ранее управляемый сервер.

5.5. Запускаем управляемый сервер

  • Переходим Environment > Servers
  • На закладке Control выделяем созданный управляемый сервер (RTD_Server) и запускаем его

5.6 Создаем JDBC источник данных

  • Переходим Services > JDBC
  • На странице JDBC Data Source Properties:
    В поле Name, вводим имя источника данных, например RTD_DS.
    В поле JNDI Name, вводим SDDS.
    Database Type указываем Other.
    Database Driver указываем Other.
  • На странице Transaction Options убираем галку Supports Global Transactions.
  • На странице Connection Properties, выполняем следующие действия:
    Указываем имя базы данных Database Name (например orcl)
    Указываем Host Name (имя сервера с базой данных).
    В поле Port указываем порт 1521.
    В поле Database User Name, вводим имя пользователя RTD.
    В поле Password, указываем пароль (например oracle) .
  • На странице Test Database Connection:
    Driver Class Name указываем oracle.jdbc.pool.OracleDataSource
    URL: jdbc:oracle:thin:@db_host:db_port:sid
    В поле Properties вводим user=db_user_name
  • На странице Select Targets указываем наш управляемый сервер.

5.7. Создаем пользователей, роли и группы.

По ссылке http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13856/weblogic.htm#BHCCEBJJ рассказано как создавать пользователей, роли и группы через консоль, но это довольно утомительно. Я написал маленький скриптик для WLST, который проделывает это все через командную строку.

  • Запускаем WLST
    cd /u01/app/oracle/product/fmw/10.3.1.0/wlserver_10.3/server/bin/
    source setWLSEnv.sh
    java weblogic.WLST
  • Набираем команду подключения
    connect('weblogic','welcome1','localhost:7031')
  • Запускаем скрипт. Обратите внимание на то, что нужно в начале заменить в 2 местах ВАШ_ДОМЕН на имя, созданного ранее домена
  • serverRuntime()
    cd ('/ServerServices/RuntimeService/DomainConfiguration/ВАШ_ДОМЕН/SecurityConfiguration/ВАШ_ДОМЕН/DefaultRealm/myrealm/AuthenticationProviders/DefaultAuthenticator')
    cmo.createGroup('RTDUserGroup','RTDUserGroup');
    cmo.createGroup('RTDAdminGroup','RTDAdminGroup')
    cmo.createGroup('RTDBatchAdminGroup','RTDBatchAdminGroup')
    cmo.createGroup('RTDChoiceEditorGroup','RTDChoiceEditorGroup')
    cmo.createGroup('RTDDCEditorGroup','RTDDCEditorGroup')
    cmo.createGroup('RTDDCUserGroup','RTDDCUserGroup')
    cmo.createGroup('RTDStudioDeployerGroup','RTDStudioDeployerGroup')
    cmo.createGroup('RTDStudioDownloaderGroup','RTDStudioDownloaderGroup')
    
    cmo.createGroup('ILS2DevGroup','Developers for Inline Service ILS2')
    cmo.createGroup('ILS2UserGroup','Business users for Inline Service ILS2')
    
    cmo.addMemberToGroup('RTDUserGroup','RTDAdminGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDBatchAdminGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDChoiceEditorGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDDCEditorGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDDCUserGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDStudioDeployerGroup')
    cmo.addMemberToGroup('RTDUserGroup','RTDStudioDownloaderGroup')
    cmo.addMemberToGroup('RTDUserGroup','ILS2DevGroup')
    cmo.addMemberToGroup('RTDUserGroup','ILS2UserGroup')
    
    cmo.createUser('rtdadmin','welcome1','RTD administrator')
    cmo.addMemberToGroup('RTDAdminGroup','rtdadmin')
    
    cd ('../../RoleMappers/XACMLRoleMapper')
    
    cmo.createRole('','RTDUsers','Grp(RTDUserGroup)')
    cmo.createRole('','RTDAdministrators','Grp(RTDAdminGroup)')
    cmo.createRole('','RTDDecisionCenterEditors','Grp(RTDDCEditorGroup)')
    cmo.createRole('','RTDDecisionCenterUsers','Grp(RTDDCUserGroup)')
    cmo.createRole('','RTDStudioDeployers','Grp(RTDStudioDeployerGroup)')
    cmo.createRole('','RTDStudioDownloaders','Grp(RTDStudioDownloaderGroup)')
    cmo.createRole('','RTDBatchAdministrators','Grp(RTDAdminGroup)')
    cmo.createRole('','RTDChoiceEditors','Grp(RTDChoiceEditorGroup)')
    cmo.createRole('','ILS2Developers','Grp(ILS2DevGroup)')
    cmo.createRole('','ILS2Users','Grp(ILS2UserGroup)')

5.8. Развертывание приложения.

  • Заходим в консоль http://weblogic_host:port/console
  • Слева выбираем Deployments > Install
  • Указываем путь к распакованному приложению RTD_HOME\package\expanded
  • Выбираем Install this deployment as an application
  • Указываем имя приложения OracleRTD
  • В области Security выбираем Custom Roles:Use roles that are defined in the Administration Console; use policies that are defined in the deployment descriptor.
  • В области Source accessibility выбираем Copy this application onto every target for me
  • Указываем сервер, на который необходимо развернуть приложение.

5.9. Перезапускаем управляемый сервер, проверяем, что приложение работает.

5.10. Настройка JMX

  • Ищем наше JDK (у меня путь /u01/app/oracle/product/fmw/10.3.1.0/jdk160_11).
  • Внутри этого каталога ищем файл jre/lib/management/jmxremote.password.template
  • Делаем в этом же каталоге копию этого файла с именем jmxremote.password
  • В конце файла раскомментируем строки
    monitorRole QED
    controlRole R&D
  • QED и R&D это пароли. Заменяем их на свои пароли.
  • После этого можно использовать консоль JConsole из дистрибутива JDK для управления RTD сервером.

Рубрики: BEA, Business Intelligence, Oracle Real-Time Decisions | Комментариев нет »

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.