9 Replies Latest reply on Dec 18, 2013 3:45 AM by akostadinov

    Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING

    sp88live.in

      Hi,

       

      I am quite new to jboss. I need a jboss as 7 cluster running in ec2 environment. I have downloaded jboss as 7 from the below link.

       

      http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz

       

      Also i have replaced the default stack to tcp and mping with s3ping.  I have modified the file standalone-ha.xml and standalone-ha-full.xml. But its not working.

       

      Am starting my jboss server usin the below command.

       

      ./standalone.sh -c standalone-ha.xml -Djboss.default.jgroups.stack=tcp -b 10.1.136.159 -Djgroups.bind.address=10.1.136.159 -Djboss.node.name=node1

       

      I do not see any files being created at my given s3 bucket. Please guide me through the correct steps to get this done.

       

      Regards

        • 1. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
          wdfink

          Important is that you need to have a clusterd application deployed (for all cluster nodes), otherwise the cluster subsystem will not be started.

           

          If you change to TCP you need to configure the node detection correct, you might have a look to the JGroups documents http://jgroups.org/ug.html

          • 2. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
            sp88live.in

            Hi,

             

            I have deployed a test application that uses the clustering..And the app is deployed successfully..and i am able to see the jgroup S3_PING in the profile section (protocols)of the jboss as 7 web management console..

             

            However am not able to see the file created by my node inside the s3 bucket.

             

            the test application i deployed is https://github.com/SaschaMoellering/JBossCluster

             

            Also one more thing "If you change to TCP you need to configure the node detection correct," ..Please guide me how to do this...

             

            Regards

            • 3. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
              sp88live.in

              Hi,

               

              Can somebody please help me out regarding this...

               

              Regards

              • 4. Re: Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                rhusar

                Example configuration for S3_PING:

                 

                <subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="tcp">

                <stack name="tcp">

                <transport type="TCP" socket-binding="jgroups-tcp"/>

                <protocol type="S3_PING">

                <property name="access_key">${jboss.jgroups.s3_ping.access_key}</property>

                <property name="secret_access_key">${jboss.jgroups.s3_ping.secret_access_key}</property>

                <property name="location">${jboss.jgroups.s3_ping.bucket}</property>

                </protocol>

                <protocol type="MERGE2"/>

                <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

                <protocol type="FD"/>

                <protocol type="VERIFY_SUSPECT"/>

                <protocol type="pbcast.NAKACK"/>

                <protocol type="UNICAST2"/>

                <protocol type="pbcast.STABLE"/>

                <protocol type="pbcast.GMS"/>

                <protocol type="UFC"/>

                <protocol type="MFC"/>

                <protocol type="FRAG2"/>

                <protocol type="RSVP"/>

                </stack>

                </subsystem>

                 

                • 5. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                  sp88live.in

                  HI,

                   

                  I have my standalone-ha.xml configured the exact same way you mentioned. See the snippet below. As of now i only have this one single node for this clustered app (But when i start the jboss as, although successful its not creating its node information file in the s3 bucket.). Bucket permissions are correct, as i checked that from s3bucket reading app using the same credentials.

                   

                  <stack name="tcp">

                                  <transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/>

                                  <protocol type="S3_PING">

                                      <property name="access_key">

                                          xxxxxxxxxxxxxxxxx

                                      </property>

                                      <property name="secret_access_key">

                                          xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

                                      </property>

                                      <property name="location">

                                          jbossbucket

                                      </property>

                                  </protocol>

                                  <protocol type="MERGE2"/>

                                  <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

                                  <protocol type="FD"/>

                                  <protocol type="VERIFY_SUSPECT"/>

                                  <protocol type="BARRIER"/>

                                  <protocol type="pbcast.NAKACK"/>

                                  <protocol type="UNICAST2"/>

                                  <protocol type="pbcast.STABLE"/>

                                  <protocol type="pbcast.GMS"/>

                                  <protocol type="UFC"/>

                                  <protocol type="MFC"/>

                                  <protocol type="FRAG2"/>

                              </stack>

                          </subsystem>

                   

                   

                  And i start my jboss as by explicitly mentioning to use tcp stack and the standalone-ha.xml, by using the below command.

                   

                  ./standalone.sh -b 10.0.0.13 -bmanagement=10.0.0.13 --server-config standalone-ha.xml -Djboss.default.jgroups.stack=tcp -Djgroups.bind.address=10.0.0.13 -Djboss.node.name=node1 &


                  But my bucket is not showing any files related to this node..Please help me out...Thanks a lot...

                   

                  Regards

                  • 6. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                    rhusar

                    I have asked Aleks to give you some tips.

                     

                    BTW S3_PING Javadoc is here http://www.jgroups.org/javadoc/org/jgroups/protocols/S3_PING.html

                    • 7. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                      akostadinov

                      Hello,

                      I would suggest you to do a test. Could you download wildfly[1] sources (you can use the "download as zip" option) and build it with the `./build.sh -DskipTests` command? Then go to `build/target/wildfly-8.0.0.Beta2-SNAPSHOT` directory where is the server ready to run. Then copy `docs/examples/configs/standalone-ec2-ha.xml` to `standalone/configuration/` to use that file instead of the standard configuration files. start the server specifying

                      -Djboss.jgroups.s3_ping.access_key=...

                      -Djboss.jgroups.s3_ping.secret_access_key=...

                      -Djboss.jgroups.s3_ping.bucket=...

                      By default this would use UDP UNICAST for cluster communication. Keep in mind that there was a bug in EC2 that they had packet lost for packets exceeding 32k but at least for this test you should not hit any such limits (which can be worked around setting fragmentation in jgroups config).

                       

                      I'm suggesting to you to try wildfly because it is the successor of JBossAS and has a lot of improvements in it (although it still does not have a final release yet). IIRC a bug was fixed in wildfly to report errors related to broken S3_PING configuration better. So it may show what is going wrong. Please let me know what you see in server log with wildfly.

                       

                      [1] https://github.com/wildfly/wildfly

                      • 8. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                        rhusar

                        By default this would use UDP UNICAST for cluster communication. Keep in mind that there was a bug in EC2 that they had packet lost for packets exceeding 32k but at least for this test you should not hit any such limits (which can be worked around setting fragmentation in jgroups config).

                        Interesting, do you happen to have a link to some statement/bug report?

                         

                        For JGroups transport communication this should be solved by retransmission (unless it would keep hitting the same bug).

                        • 9. Re: Help For setting up Jboss AS 7 Cluster in EC2 with S3 PING
                          akostadinov

                          here's description of the problem, not sure the original bug can be accessed:

                          https://community.jboss.org/wiki/ProblemWithPacketSizesOnEC2

                           

                          wrt workaround, I think limiting packet size with FRAG2 is much more efficient and reliable:

                          http://www.jgroups.org/manual-3.x/html/protlist.html#d0e6352

                           

                          But I should say I didn't run anything that hit such an issue in EC2 so I'm not talking from personal experience.