Configurar um Balanceador de Carga para Suportar Failover
Se você planeja instalar e configurar mais de uma instância do Essbase para suportar failover, precisará de um balanceador de carga front-end.
Uma opção a ser considerada para um balanceador de carga é o Oracle HTTP Server, porque ele é integrado ao WebLogic e fornece serviços Web para o Oracle Fusion Middleware.
Outra opção é o Apache HTTPD Server.
Observação:
Se você estiver se conectando por meio do Smart View, usando o URL/aps/SmartView, será necessário alterar o URL. Consulte Redirecionar para o Novo URL de Conexão do Essbase Smart View. Como alternativa, você pode configurar o redirecionamento para o novo URL no servidor Web. Se você estiver usando o Oracle HTTP Server (OHS) ou o Apache HTTPD Server, redirecione o URL ao modificar a configuração do Oracle HTTP Server, conforme descrito neste tópico.
Oracle HTTP Server ou Apache HTTPD Server
- Primeiro, instale e configure o Oracle HTTP Server ou o Apache HTTPD Server. Consulte Instalar o Oracle HTTP Server.
- Em seguida, localize o arquivo
mod_wl_ohs.confna raiz do domínio do OHS na instalação do Oracle HTTP Server.Exemplo:
<OHS>/oracle/user_projects/domains/SOHSDomain/config/fmwconfig/components/OHS/ohs1/mod_wl_ohs.conf(onde OHS é o local home da instalação do Oracle HTTP Server).
- Insira as entradas
weblogic_moduleapropriadas emmod_wl_ohs.conf.<IfModule weblogic_module> ConnectTimeoutSecs 10 ConnectRetrySecs 2 DebugConfigInfo ON WLSocketTimeoutSecs 2 WLIOTimeoutSecs 300 Idempotent ON FileCaching ON KeepAliveSecs 20 KeepAliveEnabled ON DynamicServerList ON WLProxySSL OFF </IfModule> <Location /essbase> SetHandler weblogic-handler WebLogicCluster hostname:managed_server_port Debug ALL KeepAliveSecs 20 KeepAliveEnabled ON DebugConfigInfo ON </Location> -
Edite
<Location /Essbase>e substituahostnamepelo nome do host do Host 1 emanaged_server_portpela porta do servidor gerenciado WebLogic do Essbase do Host 1. Usando um formato separado por vírgulas (CSV), adicione cada nó adicional do servidor gerenciado do Essbase que você planeja incluir no cluster.Exemplo:
Digamos que o Host 1 do Essbase seja executado no
hostname1:managed_server_port1e o Host 2 nohostname2:managed_server_port2.Para especificar os servidores em formato separado por vírgulas, digite (sem espaços adicionados):
hostname1:managed_server_port1,hostname2:managed_server_port2Não adicione o prefixo http ou https a nenhum nome de host.
- Salve a configuração.
- Reinicie o Oracle HTTP Server.
- Para interromper o Oracle HTTP Server:
-
Navegue até o diretório
binna raiz do domínio do OHS.cd ./user_projects/domains/SOHSDomain/bin/ -
Execute o script para interromper o componente do servidor OHS.
./stopComponent.sh ohs1 -
Em segundo plano, execute o script para interromper o Gerenciador de Nós.
nohup ./stopNodeManager.sh & - No prompt de senha, insira a senha que foi inserida durante a instalação.
-
- Para iniciar o Oracle HTTP Server:
-
Navegue até o diretório bin na raiz de domínio do OHS.
cd ./user_projects/domains/SOHSDomain/bin/ -
Em segundo plano, execute o script para iniciar o Gerenciador de Nós.
nohup ./startNodeManager.sh & -
Execute o script para iniciar o componente do servidor OHS.
./startComponent.sh ohs1 - No prompt de senha, insira a senha que foi inserida durante a instalação.
-
Para a configuração de SSL do Oracle HTTP Server, consulte Configurar mod_wl_ohs.
- Para interromper o Oracle HTTP Server:
Código de Amostra para Offload de SSL usando Apache HTTPD Server
Aqui está uma configuração HTTP de amostra de offload SSL usando o Apache HTTPD Server, usando a porta padrão SSL 443 (ou qualquer outra porta selecionada) para redirecionamento de offload HTTPS para o Essbase.
#
# Macro file for the Essbase proxy settings
#
<Macro EssbaseProxy $TargetUrl>
ProxyPreserveHost On
ProxyPassReverse / $TargetUrl/
ProxyErrorOverride Off
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase(/)?$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase(/)?$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase(/)?$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
# jsession redirect issue
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet(;.*)?$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet(;.*)?$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet(;.*)?$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Logout url
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet/logout.html
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet/logout.html https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet/logout.html http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Support redirect_uri logout for virtual hosts
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/redirect_uri$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/redirect_uri?logout=%{HTTP:X-Forwarded-Proto}://%{HTTP:X-Forwarded-Host}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/redirect_uri$
https://%{HTTP_HOST}/essbase/redirect_uri?logout=https://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteRule ^/essbase/redirect_uri$
http://%{HTTP_HOST}/essbase/redirect_uri?logout=http://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
# Set weblogic specific headers
<If "%{HTTP:X-Forwarded-Proto} == 'https' || %{HTTPS} == 'on'">
RequestHeader set WL-Proxy-SSL "true"
RequestHeader set IS_SSL "ssl"
</If>
<Location "/">
Options -Indexes
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</Location>
<Location "/essbase">
ProxyPass "$TargetUrl/essbase"
</Location>
<Location "/essbase/redirect_uri">
ProxyPass "!"
</Location>
<Location "/weblogic/ready">
ProxyPass "$TargetUrl/weblogic/ready"
</Location>
</Macro>