1 2 Previous Next 17 Replies Latest reply on Dec 23, 2011 4:21 AM by rhusar

    JBoss 7, domain and clustering

    morphy

      Hi,

       

      i'm trying to understand how AS7 can be used to balance the load and provide availability, so, i've setup a domain as follows:

       

      • a server group to host the domain controller
      • another server group with 2 servers which is used to deploy user interface as war file
      • another server group with 2 servers which is used to deploy reusable business logic (EJBs)

       

      the profile used for the groups is ha with the exception of the group which hosts the domain controller, so my understanding, waiting for the Cluster Guide, is that i have a cluster with 2 partitions and every partition has 2 nodes, and a standalone server out of the cluster.

       

      First check... is it correct? can i assume a server group to be a cluster partition?

       

      EJBs are described in jboss.xml as clustered and their deploy works fine, the web application, instead, deploys in its server group, if and only if i do not describe it as distributable.

       

      So, where is my fault? Why i cannot describe the web application as distributable?

       

      Next step is to lookup the deployed EJBs from the UI which, if i understand the domain, is a remote client, but to balance the load i was used to ask to the HAJNDI service... which has no reference in domain.xml configuration file... (ha-sockets)...  i've tried to lookup into standalone-ha.xml file to see if there was some difference with the domain configuration but i had failed.

       

      How can i lookup a JNDI name in a server group to benefit of the load balancing?

       

      Thank you in advance,

      Riccardo

        • 1. Re: JBoss 7, domain and clustering
          pferraro

          AS7 only implements EJB 3.1 Lite - which lacks support for remote EJB invocation.

          Full EJB 3.1 support is planned for AS 7.1.

          As for why your <distributable/> webapp is not deploying, I think you've been bitten by this bug:

          https://issues.jboss.org/browse/AS7-1363

          Can you try building the latest from master?  or wait until 7.0.1 (which should be released next week).

           

          Regarding the relationship between server group and cluster "partition".  There isn't one really.

          A server group is a collection of servers to be managed together.  Imagine deploying an application to a "server group".

          A cluster is a separate concept and is entirely determined by the socket bindings of a given server.  So, to servers in the same group may or may not belong to the same cluster - it depends on whether or not they share the same socket bindings.  Did that make sense?

          1 of 1 people found this helpful
          • 2. Re: JBoss 7, domain and clustering
            morphy

            Thank you Paul,

             

            so... even if i've downloaded the full AS7, i will not find any help in the domain-preview.xml configuration and a server group is not a partition.... infact you're answer highlight that a partition should automatically distribute the deployed artifacts to every node but now i'm quite confused about the need of server groups... maybe balancing without replication? different deployment environments like test environment... pre production environment...?

             

            AS7.1 is expected for the end of the year, is it?

             

            thank you and bye

             

            EDIT as confirmation about the preview configuration, it's documented that AS7 comes with ejb 3.1 lite even in the full distribution (https://docs.jboss.org/author/display/AS7/Getting+Started+Guide)

            • 3. Re: JBoss 7, domain and clustering
              pferraro

              The stuff in "*-preview.xml" represents functionality beyond what is dictated by the Java EE 6 Web Profile spec.

               

              Regarding management and partitions - the multi-server management functionality doesn't actually use any clustering code - so the concepts of server groups and hosts are independent of the runtime clusterability of your application.

               

              Remember a server group is merely an association between a profile (i.e. a set of subsystems and configuration) and a socket binding group (a set of addresses/ports on which to operate).  It has more to do with defining servers easily than anything else. Typically, members of a cluster will have the same set of subsystems/configuration - so there is often a correlation - but that's really it.  As for how you use them (QA environment, load balancing group, staging environment, etc) - that's completely up to you.

               

              See Brian's webinar on the subject: http://www.vimeo.com/25855285

               

              The AS 7.1.0.CR1 is scheduled for Nov 8.  Barring any slippage, the final can typically be expected a few weeks later.

              1 of 1 people found this helpful
              • 4. Re: JBoss 7, domain and clustering
                morphy

                Let me add just a consideration... while waiting for 7.1

                 

                It's hard to think to a server group as a merely association between profiles and bindings cause the deployment of an artifact is per group... limited by my understanding, if i deploy a web application in a server group, that application is spawn across every host and this is a partition behavior, so... i hope that 7.1 will bind server groups and partitions cause in the other case, i see only a great confusion... at least in my head...

                 

                thank you Paul

                • 5. Re: JBoss 7, domain and clustering
                  pferraro

                  I understand.  You're still thinking in terms of the farming service, where deployment of an application could be done per partition.  The farming service has been superceded by AS7's management infrastructure, which is far more powerful and flexible than was available with the farming service.  Perhaps this should be better communicated on our part.  Thanks for the feedback.

                  • 6. Re: JBoss 7, domain and clustering
                    morphy

                    btw, is it possible to reach a draft of the clustering guide for AS7?

                    • 7. Re: JBoss 7, domain and clustering
                      pferraro

                      Not yet, but here are a couple of resources:

                       

                      Webinar on AS7 Clustering:

                      http://www.vimeo.com/25863625

                       

                      Using Infinispan in AS7:

                      http://infinispan.blogspot.com/2011/07/infinispan-in-jboss-as7.html

                       

                      Paul

                      • 8. Re: JBoss 7, domain and clustering
                        morphy

                        Than you again! The webinar is great, so..

                         

                        there is no more farming, application is deployed in the server group and replicated/balanced in it, just because it is not deployed somewhere else... i mean, in the starting scenario, if i have deployed the war on both server groups i'd had got 4 replications of the war.

                         

                        Will be possible to partitionate nodes in the cluster in the 7.1?

                         

                        But i'm stuck cause there is the issue of the distributable element whose fix is expected in 7.0.1 and EJBs must be deployed in the same server group cause remoting is expected in the 7.1 (and i'll find the HAJNDI port i suppose)

                         

                        Finally, in the standalone example, the lack of farming creates the need to deploy the artifacts in every node....

                         

                        ok i have a better idea (i hope it is not misleading ) about AS7 clustering now, thank you

                        • 9. Re: JBoss 7, domain and clustering
                          morphy

                          Hi,

                           

                          i've just tried the nightly build (7.1.0-alpha1) with a web application marked as distributable and it fails to deploy with the following error:

                           

                           

                          Failed to disable Webapp-0.1-SNAPSHOT.war.
                          
                          Unexpected HTTP response: 500
                          
                          Request
                          {
                              "address" => [
                                  ("server-group" => "dragon-standalone"),
                                  ("deployment" => "Webapp-0.1-SNAPSHOT.war")
                              ],
                              "operation" => "deploy"
                          }
                          
                          Response
                          
                          Internal Server Error
                          {
                              "outcome" => "failed",
                              "result" => {"server-groups" => [("dragon-standalone" => {"master" => {
                              "host" => "master",
                              "response" => {
                                  "outcome" => "failed",
                                  "failure-description" => "Operation handler failed to complete",
                                  "rolled-back" => true
                              }
                          }})]},
                              "failure-description" => "Operation failed or was rolled back on all servers.",
                              "rolled-back" => true
                          }
                          

                           

                          tomorrow... i'll try to check with a 7.0.1 (if i find it...), i hope it's a missed merge between branches

                           

                          anyway the difference between a deployable war with a non deployable war is the <distributable /> added using the web.xml editor in eclipse... so i'm quite sure that the descriptor is correct... bye

                          • 10. Re: JBoss 7, domain and clustering
                            pferraro

                            Can you post any stacktrace from server.log?  Also, how are you starting your server?  To actually use distributed web sessions, you need to use either the "ha" profile from domain.xml - or the standalone-ha.xml config file.

                            e.g.

                            ./bin/standalone.sh --server-config=standalone/configuration/standalone-ha.xml

                             

                            However, even if you started your server with the standalone.xml (which lacks the requisite clustering subsystems), the deployment should fall back to non-distributed with a WARN log.

                            • 11. Re: JBoss 7, domain and clustering
                              morphy

                              i'm using domain configuration but i have to sorry about 7.1.0.Alpha1 cause the problem was due to a my configuration fault about sockets (std vs ha)

                               

                              i'm getting the bright new 7.0.1 right now to test the distributable issue which was in the 7.0.0

                               

                              sorry again about terrorism in the 7.1.0

                              • 12. Re: JBoss 7, domain and clustering
                                vikaskumar24

                                Hi,

                                Does AS 7 support Web session replication (at this point we are looking only for Web session replication only) over a cluster where the session data gets stored in Database?

                                 

                                Thanks,

                                Vikas

                                • 13. Re: JBoss 7, domain and clustering
                                  rhusar
                                  • 14. Re: JBoss 7, domain and clustering
                                    vikaskumar24

                                    Thanks Rado for the links, very helpful.

                                     

                                    Thanks,

                                    Vikas

                                    1 2 Previous Next