zoukankan      html  css  js  c++  java
  • OBIEE + OAS集群配置 Part 1

    这里使用四台服务器bisvr01, bisvr02, bisvr03, bisvr04组成obiee + oas集群。四台服务器使用Windows Server系统,且另有一台服务器作为域控制器,服务器都加入了域。

    1.     OAS主要部件包括HTTP Server(Apache)和Oracle Container for Java,Apache通过oc4j module实现负载平衡,将请求发送到多个oc4j。多个HTTP Server上可以使用外部硬件负载平衡设备。


    安装OAS时,选择高级安装,一路Next。注意在选择安装项目时,要部署Presentation Services,必须要安装OHS,等安装好OBIEE后如果不需要使用OHS,停止OHS即可。安装过程中还需要指定OC4J的名称,默认名称是home,OBIEE安装时需要名为home的OC4J实例。

    建立集群最简便的方法是使用动态Multicast,选中“将此OC4J实例配置为Oracle Application Server集群拓扑的一部分”,然后指定Discovery地址,所有的OAS服务器均需要同样的地址和端口。


    为了方便管理,建议在一个实例上安装EM,可以在安装OAS安装时,选择安装Application Server Control。

    安装完成后,可以在Application Server Control中看到所有加入集群的实例。


    另外,所有的OC4J实例须在同一个组中,默认情况下,home实例加入default_group。

    前面说过Apache通过oc4j module实现负载平衡。使用文本编辑器打开<OAS目录>\Apache\Apache\conf\mod_oc4j.conf,可以改变默认的负载平衡的方法,在其中加入:

    LoadModule oc4j_module modules/ApacheModuleOc4j.dll

    <IfModule mod_oc4j.c>

    Oc4jSelectMethod roundrobin  //负载平衡的方法,推荐使用roundrobin:weighted

    </IfModule>

    2.     完成上述配置后,OHS接受http请求后,通过负载平衡,将请求导向其中某个OC4J实例。通过应用级集群,多个OC4J实例间可以交换会话信息。


    要配置应用集群,用文本编辑器打开<OAS目录>\j2ee\home\config\application.xml,加入:

    <orion-application … >

          …………

    <cluster allow-colocation="false" write-quota="3">  // write-quota表示集群内其它实例的数量,比如有4个实例,此值为3

                  <replication-policy trigger="onRequestEnd" scope="allAttributes" />  //replication方式

                  <protocol>

    <multicast ip="230.230.0.1" port="45566" bind-addr="192.168.1.1" />  //replication的IP和端口,所有实例使用相同值。bind-addr是绑定的IP地址,如果服务器上有多个网卡,每个网卡使用不同的IP,选择一个作为绑带IP

                  </protocol>

                 </cluster>

          …………

    </orion-application>

    修改application.xml后,部署在OC4J中所有的应用程序都加入到集群中。当然也可以只选择单个应用程序加入集群。

    另外,Apache的默认配置使用了机器名做链接。比如你的OAS服务器IP是192.168.1.1,加入了bidw.MyCompany.com的域,那么通过IP访问http://192.168.1.1/em会自动转为http:// ServerName.bidw.MyCompany.com/em,没有使用内部DNS的机器访问OAS会产生麻烦。所以用文本编辑器打开<OAS目录>\Apache\Apache\conf\httpd.conf,查找“ServerName”,将“ServerName”后的值改成服务器IP地址。

    至此,OAS的配置已经完成。

    3.     然后分别在每台服务器上安装OBIEE,安装时选择高级安装。如果已正确配置好应用集群,可看到部署到OAS的应用程序已启用集群,如下图中的analytics。


    要检验apache的负载平衡是否生效,可访问em,正常境况下一个集群中只有一个em启用。如图中,bisvr01上的em是启用的,如果通过http://bisvr03/em/也能访问成果,说明bisvr03上的OHS将请求导向正确的OC4J实例。

    要检验OC4J应用集群是否生效,可以在与一个实例的web应用程序通讯时,停止此OC4J实例上的应用程序。这时应用集群内其他OC4J实例会复制session信息,接替客户端请求,用户通过浏览器可以继续访问应用程序,感觉不到任何异常。

    4.     接下来的步骤是要配置OBIEE集群,先停止OBIEE所有的服务。因为集群内的服务需要共享资源的权限,所以集群内相关服务的运行帐户都必须是域账户,而非本地账户。如果在安装时没有指定帐户,需要修改OBIEE服务的运行帐户。像下图中那样。


    这里我图方便直接将所有的服务都使用了DWBI域的管理员账户,出于安全性,建议另建账户。

    在其中一台服务器上建立一个名为OBI_Share的共享目录。确保所有服务器上的OBIEE运行帐户能访问此目录。然后在此目录下建立“Cache”、“Prst_Catalog”、“Repository”和“Sch_Script”目录。

    5.     BI Server的工作是管理Repository,将其他组件的数据请求转换为数据查询,缓存查询结果。在一个集群中最多只能有16个节点,其中需要有一个主节点。

    BI Server节点除了有本地缓存外,还需共享缓存存储空间,在这里,指定共享的OBI_Share\Cache目录为共享缓存空间,所有节点都需要能读写此共享目录。

    BI Server节点间需要使用公用的Repository。开发人员通过Administrator Tool连接到主节点,在线修改Repository后,主BI Server将修改数据写入的共享的Repository发布目录中,其他节点读取变更,然后同步本地的Repository。这里使用的共享发布区是OBI_Share\Repository目录。确保主节点的运行帐户有读写权限,其他节点有读权限。


    用文本编辑器打开OracleBI\server\Config\NQSConfig.INI,查找并修改下述内容:

    # SERVER_HOSTNAME_OR_IP_ADDRESSES = "ALLNICS";  //在此行前加#号

    CLUSTER_PARTICIPANT = YES;

    GLOBAL_CACHE_STORAGE_PATH = "\\192.168.1.1\OBI_Share\Cache" 5000 MB;  //共享缓存目录,容量可以根据需要修改

    REPOSITORY_PUBLISHING_DIRECTORY = "\\192.168.1.1\OBI_Share\Repository";  //共享Repository发布目录

    REQUIRE_PUBLISHING_DIRECTORY = YES;

         

    集群中所有的节点必须使用同样的Repository,假设要使用文件名为paint.rpd的Repository,需要将此文件复制到所有节点的OracleBI\server\Repository目录,然后修改配置,使用paint.rpd。

    6.     建立BI Server集群后,其他组件需要通过Cluster Controller访问BI Server集群,Cluster Controller将请求转发到集群内的节点,例如下图中Presentation Services访问BI Server集群那样。


    在一个集群中,只有能有2个Cluster Controller,而且不同于其他组件的Active-Active模式,Cluster Controller使用Active-Pasive模式。既在某一时刻,只激活一个Cluster Controller实例,另一个Cluster Controller实例处于待命状态。只有当主Cluster Controller出现故障或无法启动,才激活次Cluster Controller。

    用文本编辑器打开OracleBI\server\Config\NQClusterConfig.INI,查找并修改下述内容:

    ENABLE_CONTROLLER = YES;

    PRIMARY_CONTROLLER = "bisvr01";  //主Cluster Controller服务器名称,注意不要使用全名

    SECONDARY_CONTROLLER = "bisvr02";  //次Cluster Controller服务器名称,注意不要使用全名

    SERVERS = "bisvr01", "bisvr02", “bisvr03”, “bisvr04”;  //参与集群的服务器名称,用逗号隔开

    MASTER_SERVER = "bisvr01";  //主BI Server服务器名称


    在修改主、次Cluster Controller节点的配置文件后,就可以启动Oracle BI Cluster Controller服务和每个节点的Oracle BI Server了。

    7.     因为Presentation Services和Administrator Tool需要使用ODBC数据源连接到BI Server,所以需要修改Presentation Services节点和安装有Administrator Tool客户端的ODBC配置。如下图:

    8.     Presentation Services通过Cluster Controller访问Scheduler和BI Server集群,并且使用负载平衡方法与Javahost集群通讯,所有的Presentation Services实例必须使用共享的Catalog。


    用文本编辑器打开OracleBIData\web\config\instanceconfig.xml,查找并修改下述内容:

    <ServerInstance>

    …………

    <CatalogPath>\\192.168.1.1\OBI_Share\Prst_Catalog</CatalogPath>  //共享Catalog目录

    <Catalog>

    <AccountIndexRefreshSecs>120</AccountIndexRefreshSecs>

    <AccountCacheTimeoutSecs>180</AccountCacheTimeoutSecs>

    <CacheTimeoutSecs>120</CacheTimeoutSecs>

    <CacheCleanupSecs>600</CacheCleanupSecs>

    <PrivilegeCacheTimeoutSecs>180</PrivilegeCacheTimeoutSecs>

    </Catalog>

    …………

    <JavaHostProxy>

    <Hosts>

    <Host address="bisvr01" port="9810" />  //JavaHost服务器名称和端口

    <Host address="bisvr02" port="9810" />  //JavaHost服务器名称和端口

    </Hosts>

    </JavaHostProxy>

    …………

    </ServerInstance>

    9.     OBIEE安装时将Java Servlet部署到OC4J,analytics将请求转发到Presentation Services。可以使用平衡负载将请求转发到多实例集群。


    用文本编辑器打开<OAS目录>\j2ee\home\applications\analytics\analytics\WEB-INF\web.xml。将下面的内容:

    <init-param>

    <param-name>oracle.bi.presentation.sawserver.Host</param-name>

    <param-value>localhost</param-value>

    </init-param>

    <init-param>

    <param-name>oracle.bi.presentation.sawserver.Port</param-name>

    <param-value>9710</param-value>

    </init-param>

    替换为:

    <init-param>

    <param-name>oracle.bi.presentation.sawservers</param-name>

    <param-value>bisvr01:9710;bisvr02:9710;bisvr03:9710;bisvr04:9710</param-value> //Presentation Services服务器名和端口

    </init-param>

    保存后,将web.xml复制到OracleBI\web\app\WEB-INF\,覆盖原文件。

    重启OAS ProcessManager。


    如果BI Server、Javahost、Presentation、Cluster Controller、OAS ProcessManager能正常启动就没问题了。至此,OBIEE主要的几个部件集群配置已完成,下图是集群环境的构架:


    下一步就是Scheduler、Publisher、Disconnected Aanlytics的配置工作。

     
    分类: DW / BI
  • 相关阅读:
    Objective-C 和 Swift 第三方库使用
    如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?
    swift之水纹动画
    HandyJSON.Metadata.Class Xcode10.2, swift5.0 报错 linker command failed with exit code 1
    Python开发【第十篇】:CSS (二)
    Python开发【第十篇】:CSS --无内容点击-不进去(一)
    Python开发【第九篇】:HTML (二)
    Python开发【第九篇】:HTML --无内容点击-不进去(一)
    Python开发【第八篇】:网络编程
    Python开发【第七篇】:面向对象 和 python面向对象(初级篇)(上)
  • 原文地址:https://www.cnblogs.com/jerryxing/p/2708385.html
Copyright © 2011-2022 走看看