Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Cromossomo Linux
Por pedru
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Múltiplas instâncias do Pentaho (BI) em base dados hsql no mesmo computador
Linux user
Publicado por Natália Vaz Silva em 20/09/2011

Login: nataliavaz, 28549 pontos | Blog: http://linuxnatyworking.wordpress.com
[ Hits: 1274 ]

Múltiplas instâncias do Pentaho (BI) em base dados hsql no mesmo computador

Pode parecer algo muito simples, mas já vi em muitos lugares o uso de várias máquinas para o software em questão e a justificativa de não ser possível executar mais de uma instância ao mesmo tempo.

Me deparei com este problema recentemente, depois de muita busca no nosso amigo Google e consulta a pessoas que trabalham com as ferramentas, consegui solucionar este 'problemão', que não passa de conflito de portas entre o Tomcat e o hsql, utilizados pelo Pentaho.

Como tive dificuldade em encontrar informações específicas sobre este problema na rede, resolvi compartilhar a solução, espero que seja útil! ;)

Configuração das aplicações

Como a incompatibilidade é gerada pelas uso das mesmas portas, a solução encontrada foi alterar todas as portas comuns aos serviços.

Obs.: Na alteração das portas do Tomcat, adotamos o padrão de adicionar uma unidade a cada centena da porta. Por exemplo, a porta padrão do Tomcat 8080 é alterada para 8180.

Padrão de portas:

Tomcat:
  • Server port: 8005
  • Connector port (HTTP): 8080
  • Redirector port: 8443
  • Connector port (AJP): 8009

HSQL: 9001

Nos exemplos a tag <home_app> indica o caminho de instalação da aplicação.

Bom, vamos ao trabalho:

1. Alterar no arquivo <home_app>\biserver-ce\tomcat\conf\server.xml, as portas:

<Server port="<b>8105</b>" shutdown="SHUTDOWN">

<Connector port="<b>8180</b>" maxHttpHeaderSize="8292"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="<b>8543</b>" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

<Connector port="8109"
               enableLookups="false" redirectPort="<b>8543</b>" protocol="AJP/1.3" />

2. No arquivo <home_app>\biserver-ce\tomcat\conf\server-minimal.xml configurar as portas seguintes de acordo com as alterações feitas no Tomcat.

<Connector port="8180" />
<Connector port="8109" protocol="AJP/1.3" />

3. No arquivo <home_app>\biserver-ce\tomcat\webapps\pentaho\WEB- INF\web.xml, adicionar a porta do Tomcat ao parâmetro:

<param-value>http://localhost:8180/pentaho/</param-value>

Obs.: A porta informada deve ser a mesma configurada anteriormente no Tomcat.

4. Criar o arquivo <home_app>\biserver-ce\data\servers.properties com o seguinte conteúdo:

server.port=9998
server.database.0=file:<home_app>/biserver-ce/data/hsqldb
server.dbname.0=sampledata

server.database.1=file:<home_app>/biserver-ce/data/hsqldb
server.dbname.1=hibernate

server.database.2=file:<home_app>/biserver-ce/data/hsqldb
server.dbname.2=quartz

Obs.: Este arquivo precisa ser criado em todas as instâncias do Pentaho configuradas na máquina, inclusive na instância que utiliza as portas padrão. O parâmetro <i>server.port</i> determina a porta usada pelo HSQL.

5. No arquivo <home_app>\biserver-ce\data\stop_hypersonic.bat adicionar a porta do HSQL, configurada no servers.properties, na linha:

"%_PENTAHO_JAVA%" -cp %tempclasspath% org.hsqldb.util.ShutdownServer -url "jdbc:hsqldb:hsql://localhost:9998/%1" -user "SA" -password ""

6. No arquivo <home_app>\biserver-ce\pentaho-solutions\system\hibernate\hibernate- settings.xml altere o parâmetro config-file conforme exemplo:

<config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file>

7. No arquivo <home_app>\biserver-ce\pentaho- solutions\system\hibernate\hsql.hibernate.cfg.xml altere as seguintes propriedades:

<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost:9998/hibernate</property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>

8. No arquivo <home_app>\biserver-ce\tomcat\webapps\pentaho\META- INF\context.xml adicionar a porta de conexão do banco nas seguintes urls de conexão:

             Resource Name: jdbc Hibernate
             driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9998/hibernate"

             Resource Name: jdbc Quartz
             driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9998/quartz

9. Deixar o arquivo <home_app>\biserver-ce\pentaho-solutions\system\applicationContext- spring-security-hibernate.properties com o seguinte conteúdo:

jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://localhost:9998/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.HSQLDialect

10. No arquivo <home_app>\biserver-ce\pentaho-solutions\system\applicationContext-spring- security-jdbc.xml adicionar a porta da base de dados à url de conexão:

<bean id="dataSource"
   class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
   <b> <property name="url" value="jdbc:hsqldb:hsql://localhost:9998/hibernate" /> </b>
   <property name="username" value="hibuser" />
   <property name="password" value="password" />
</bean>

11. No arquivo <home_app>\biserver-ce\pentaho-solutions\system\simple- jndi\jdbc.properties, alterar a porta da base de dados nas seguintes urls de conexão:

SampleData/url=jdbc:hsqldb:hsql://localhost:9998/sampledata
Hibernate/url=jdbc:hsqldb:hsql://localhost:9998/hibernate
Quartz/url=jdbc:hsqldb:hsql://localhost:9998/quartz
Shark/url=jdbc:hsqldb:hsql://localhost:9998/shark
SampleDataAdmin/url=jdbc:hsqldb:hsql://localhost:9998/sampledata


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada OpenSuSE 10.3 – Guia de instalação do Compiz Fusion para leigos
   Dica Linux recomendada Cliente PPTP no Mac OS
   Dica Linux recomendada Ubuntu com Real Player
   Dica Linux recomendada Terminator - O multi-terminal do Linux
   Dica Linux recomendada The Code Linux

Comentários
[1] Comentário enviado por lhcd em 20/09/2011 - 18:27h:

Ola nati, ja me deparei com este problema, mas a coisa e mais complicada, eu ja havia subido duas instancias mudando as portas, mas o problema é o cache do pentaho, se você tiver ambientes com publicações diferentes ele aceita apenas uma sempre a do ultimo tomcat que foi levantado, fiz vários testes e ainda não consegui dar solução para este problema.

[2] Comentário enviado por nataliavaz em 20/09/2011 - 22:08h:

Ei Luiz!!! Então, tivemos esse problema na empresa, a equipe implantou essa solução e não obtiveram problema com as instâncias. São muitas portas pra alterar, as vezes não alterou todas da base de dados.

[3] Comentário enviado por lperozin em 15/12/2011 - 16:18h:

O Natália

Muito bom você ter postado esse tutorial, vai ajudar muita gente ai!

Precisei usar o seu tutorial para acertar um servidor e notei que ficou faltando um arquivo a ser configurado, que esta logo abaixo:

pentaho-solutions/system/dialects/hsqldb/applicationContext-spring-security-hibernate.properties

Uma outra coisa é o arquivo que deve ser criado para definir as propriedades do Hsqldb deve ser server.properties e não servers.properties.


Att

L Perozin






Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.