10 Replies Latest reply on Apr 25, 2013 10:03 PM by claudio4j

    Jboss AS 7 - Host Controller com Servers com IPs distintos

    laurosn

      Bom dia pessoal,

       

      Atualmente trabalho com o Jboss 5.1 e temos a seguinte estrutura: um servidor com várias instância (profile/jvm) configurada em um IP diferente.

      Comecei a estudar o Jboss AS 7 e tentei imaginar como ficaria  esta estrutura que temos no Jboss AS7.

      Corrijam-me se eu estiver enganado, mas de maneira simplificada seria assim:

       

      - Teríamos uma máquina que seria o Domain Controller

      - O servidor que contém as instâncias do JBoss 5.1 seria o Host Controller do Jboss AS 7

      - Cada instância do Jboss 5.1 seria um server no Jboss 7

       

      Todos os exemplos que encontrei, é configurado um IP para o host controller e cada um dos servers subiria em uma

      porta distinta através do port-offset. A minha dúvida é a seguinte: existe como subir cada server dentro de um mesmo

      host controller em IPs distintos?  Ou se eu quiser um IP distinto para cada server vou precisar de um host controller por server?

      Pela management console não achei como fazer isto (configurar o ip do server). Encontrei apenas como modificar o IP do

      host controller.

       

      Não sei se ficou confuso ou se estou falando alguma besteira. Se puderem me ajudar, agradeço.

       

      Lauro

        • 1. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
          mauriciomag

          Bom dia Lauro,

           

          Acho que entendi o que voce está falando.

           

          Realmente ainda não havia pensado nessa situação então realmente não sei dizer.

           

           

          - Teríamos uma máquina que seria o Domain Controller

          - O servidor que contém as instâncias do JBoss 5.1 seria o Host Controller do Jboss AS 7

          - Cada instância do Jboss 5.1 seria um server no Jboss 7

           

          Existem outras arquiteturas mas basicamente isso está correto.

           

          Atualmente trabalho com o Jboss 5.1 e temos a seguinte estrutura: um servidor com várias instância (profile/jvm) configurada em um IP diferente.

           

          No Domain mode as configurações  de (JVM) podem ser adicioandas em 3 níveis: Por Server Group, Por Host Controller e para um Server especifico.

          Acredito que isso já resolveria o seu problema nessa questão.  

           

          Lembrando que Servers (instâncias ) em máquinas diferentes podem fazer parte do mesmo Server Group podendo assim compartilhar as configurações.

           

          Depois que cada server estiver no seu "offset" é só configurar um virtual host para cada aplicação responder em uma url especifica.

           

          Eu vou dar uma pesquisada se descobrir alguma coisa te aviso... mas se alguém responder e matar minha curiosidade seria ótimo hehe.

           

          Abraço

          • 2. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
            rimolive

            Olá Lauro,

             

            Uma alternativa a isso pode ser especificar diversas interfaces dentro do host.xml dentro do Host Controller, cada apontando para um a interface de rede (é possível essa configuração) e depois criar uma configuração de Socket Binding Group apontando para cada interface. Se me lembro bem, isso é feito porta a porta então pode dar um trabalho danado criar essa configuração.

             

            Eu não testei essa configuração, mas acho que isso é possível. Espero que ajude.

            • 3. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
              mauriciomag

              Legal... sabia sobre essas interfaces mas não havia pensado nessa solução... vou testar hoje a noite e ver se funciona!

               

              Vlw Martina.

              • 4. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                laurosn

                Ricardo, deixa eu ver se entendi a sua sugestão:

                 

                no domain.xml:

                 

                ===================================

                crio a interface que aponta pro IP que eu quero

                ===================================

                 

                <interfaces>

                     <interface name="teste">

                       <nic name="eth2"/>

                     </interface>

                </interfaces>

                 

                 

                 

                ==================================================================================================================

                crio o socket-binding-group "standard-sockets-teste", que é igual ao standard-sockets, apenas apontando a default-interface pra interface que acabei de criar

                ==================================================================================================================

                 

                <socket-binding-group name="standard-sockets-teste" default-interface="teste">

                            <socket-binding name="ajp" port="8009" />

                            <socket-binding name="http" port="8080" />

                            <socket-binding name="https" port="8443" />

                            <socket-binding name="osgi-http" interface="management" port="8090" />

                            <socket-binding name="remoting" port="4447" />

                            <socket-binding name="txn-recovery-environment" port="4712" />

                            <socket-binding name="txn-status-manager" port="4713" />

                            <outbound-socket-binding name="mail-smtp">

                                <remote-destination host="localhost" port="25" />

                            </outbound-socket-binding>

                </socket-binding-group>

                 

                 

                ==================================================================================================================

                defininição do server-group "other-server-group", que aponta pro standard-sockets

                ==================================================================================================================

                 

                 

                <server-groups>

                        <server-group name="other-server-group" profile="full-ha">

                            <jvm name="default">

                                <heap size="1303m" max-size="1303m"/>

                                <permgen max-size="256m"/>

                            </jvm>

                            <socket-binding-group ref="standard-sockets"/>

                        </server-group>

                </server-groups>

                 

                 

                 

                 

                no host.xml:

                ==============================================

                Defino 2 servidores , os dois pertencentes ao mesmo grupo

                A unica diferença é que o server-teste sobrescreve o

                socket-binding-group, que aponta para o standard-sockets-teste,

                que por sua vez está com a default-interface que aponta para

                uma interface que está em outro IP

                ==============================================

                 

                <servers>

                        <server name="server-um" group="other-server-group"/>

                        <server name="server-teste" group="other-server-group">

                            <!-- server-two avoids port conflicts by incrementing the ports in

                                 the default socket-group declared in the server-group -->

                            <socket-binding-group ref="standard-sockets-teste" />

                        </server>

                </servers>

                 

                É isso mesmo ou compliquei demais e não entendi o que você quis dizer?

                 

                Um abraço

                1 of 1 people found this helpful
                • 5. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                  rimolive

                  Isso mesmo Lauro. Mas eu nunca tive a oportunidade de testar essa configuração, então pode ser que eu esteja enganado a respeito das configurações.

                   

                  No entanto, acredito que se não houver nenhum impeditivo, essa solução irá lhe atender.

                  • 6. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                    claudio4j

                    Uma outra opção, é associar o IP ou hostname pela propriedade jboss.bind.address

                     

                    Na configuração do seu server, adicione uma system property (boot time = true) jboss.bind.address e informe qual o host ou IP.

                    1 of 1 people found this helpful
                    • 7. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                      mauriciomag

                      Oi Lauro tudo bom?

                       

                      O problema foi resolvido?

                       

                       

                      Se foi marque a questão como Correct Answer   assim podemos organizar as soluções.

                       

                      Abs

                      • 8. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                        laurosn

                        Olá Maurício,

                         

                        na verdade a correct answer é a seguinte: na definição do seu server, você sobrescreve as interfaces com o ip específico para aquele server.

                         

                        Por exemplo:

                         

                        <server name="tester1" group="TEST-FULL-HA" auto-start="true"> 

                                <socket-bindings socket-binding-group="full-ha-sockets" port-offset="0"/>

                                <interfaces>

                                    <interface name="public">

                                        <inet-address value="10.96.36.65"/>

                                    </interface>

                                    <interface name="unsecure">

                                        <inet-address value="10.96.36.65"/>

                                    </interface>

                                </interfaces>

                            </server>

                         

                        Um abraço.

                        • 9. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                          mauriciomag

                          rsrs tornamos algo simples complexo

                           

                          Vlw Lauro Obrigado.

                           

                          Abraços

                          -- Mauricio Magnani

                          • 10. Re: Jboss AS 7 - Host Controller com Servers com IPs distintos
                            claudio4j

                            Colocar o IP direto no host.xml não recomendo, geralmente ao copiar a instalação para outros ambientes, tem de ficar alterando o host.xml ou mesmo quando de um upgrade, tem de alterar estes arquivos.

                            Mesmo porque esse parâmetro que você mostrou, o valor dele é ${jboss.bind.address:127.0.0.1}, que é um parâmetro de inicialização, então basta fazer um ./domain.sh -Djboss.bind.address=meu_hostname.meudominio.com

                            O que recomendo é deixar os parâmetros de inicialização fora da instalação, no /etc/init.d/jboss por exemplo.

                            Também deixe de usar o IP direto, use um hostname, coloque no DNS ou no /etc/hosts.