You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by viola lu <vi...@gmail.com> on 2010/07/24 03:22:57 UTC

Re: Farming-Application stops On All Nodes When "Master" Instance is Stopped

hi,
WADI is targeted for exceptional case such as
"ctl-c" , "kill -9" shutdown web container, if you directly shutdown server,
it won't replicate session.
You can refer to section "What are WADI's goals?" of wadi page:
http://wadi.codehaus.org/faq.html#status, for your convenience, i pasted it
here:
What are WADI's goals? [08/06/04] In the Web tier, we can crystallise WADI's
goals into two stages:

   - To be able to walk into your web farm and 'ctl-c' any webcontainer node
   without losing any HttpSessions (i.e. customers).
   - To be able to walk into the same web farm and 'kill -9' any
   webcontainer node without losing any HttpSessions (i.e. customers).

The first of these two cases is important because it allows easy maintenance
of existing h/w or s/w. This may seem a trivial requirement, but many
existing solutions are time-consuming and/or error-prone (involving draining
sessions off target nodes over long periods etc.), to the point that many
sites simply accept that maintenance will impact quality of service. The
second of these two cases deals with a more exceptional case - the
catastrophic failure of a webcontainer node. As online competition for
business increases, systems are being required to provide higher and higher
levels of availibility. This can be critical in particular areas. The
ability to preserve web-tier state beyond the failure of its node is
correspondingly an increasing requirement.

On Sat, Jul 24, 2010 at 3:22 AM, rjowens <rj...@us.ibm.com> wrote:

>
> I have two installations of Geronimo 2.1.5 installed on the same test
> server.
> Each installation has multiple instances.  I’ve created a cluster using
> installation1, instance1 (nodeA) and installation2, instance2 (nodeB).  The
> logs indicate that each node is a cluster member.
>
> To help with application management, I’ve created a Farm with nodeA and
> nodeB as the only members. The test application was successfully deployed
> to
> the MasterConfigurationStore and is available on both nodes.  Also,
> stopping
> the application using G_MASTER will stop the application on both nodes.  So
> far, so good.  All seems to be working fine.
>
> The problem comes when I do a graceful shutdown of the Geronimo instance
> which I used to deploy the application to the MasterConfigurationStore
> (nodeA). Shutting down this instance also causes the application on nodeB
> to
> stop. Not so if I “kill -9” the specific instance process.
> Is this the expected reaction to a graceful shutdown?
>
> Also, I tried configuring the default instance of installation1 as a member
> of the Farm and than deploying the app to it (rmi=1099).  The app deploys
> okay to the clustered instances but the app on installation1, instance1
> (nodeA) will not start and stop through the Farm.  Any suggestions?
>
> Here’s some information on my configuration:
>
> config-substitutions.properties
>
> nodeA
> PortOffset=200
> ClusterNodeName=nodeA
> WADIClusterName=WADI_CLUSTER
> FarmName=WADI_FARM
> RemoteDeployHostname=localhost
>
> nodeB
> PortOffset=410
> ClusterNodeName=nodeB
> WADIClusterName=WADI_CLUSTER
> FarmName=WADI_FARM
> RemoteDeployHostname=localhost
>
> config.xml
>
> nodeA
>
> <module name="org.apache.geronimo.configs/farming/2.1.5/car">
>        <gbean name="NodeInfo">
>            <attribute name="name">${ClusterNodeName}</attribute>
>        </gbean>
>        <gbean name="ClusterInfo">
>            <attribute name="name">${FarmName}</attribute>
>        </gbean>
>        <gbean
>
> name="org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=NodeInfo,name=nodeB"
> gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
>            <attribute name="name">nodeB</attribute>
>            <attribute
>
> propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"
> name="extendedJMXConnectorInfo">
>                <ns:javabean
> class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo"
> xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"
> xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"
> xmlns="">
>                    <ns:property name="username">system</ns:property>
>                    <ns:property name="password">manager</ns:property>
>                    <ns:property name="protocol">rmi</ns:property>
>                    <ns:property name="host">localhost</ns:property>
>                    <ns:property name="port">1509</ns:property>
>                    <ns:property name="urlPath">JMXConnector</ns:property>
>                    <ns:property name="local">false</ns:property>
>                </ns:javabean></attribute>
>        </gbean>
>    </module>
>
> nodeB
>
> <module name="org.apache.geronimo.configs/farming/2.1.5/car">
>        <gbean name="NodeInfo">
>            <attribute name="name">${ClusterNodeName}</attribute>
>        </gbean>
>        <gbean name="ClusterInfo">
>            <attribute name="name">${FarmName}</attribute>
>        </gbean>
>        <gbean
>
> name="org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=NodeInfo,name=nodeA"
> gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
>            <attribute name="name">nodeA</attribute>
>            <attribute
>
> propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"
> name="extendedJMXConnectorInfo">
>                <ns:javabean
> class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo"
> xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"
> xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"
> xmlns="">
>                    <ns:property name="username">system</ns:property>
>                    <ns:property name="password">manager</ns:property>
>                    <ns:property name="protocol">rmi</ns:property>
>                    <ns:property name="host">localhost</ns:property>
>                    <ns:property name="port">1299</ns:property>
>                    <ns:property name="urlPath">JMXConnector</ns:property>
>                    <ns:property name="local">false</ns:property>
>                </ns:javabean></attribute>
>        </gbean>
>    </module>
>
> Application deployment:
>
> deploy.sh -u system -p manager -port 1299 deploy --targets
>
> "org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=ConfigurationStore,name=MasterConfigurationStore"
> NodeDetection.zip geronimo-web.xml
>
> Any help is appreciated.  Thanks
> --
> View this message in context:
> http://apache-geronimo.328035.n3.nabble.com/Farming-Application-stops-On-All-Nodes-When-Master-Instance-is-Stopped-tp990659p990659.html
> Sent from the Users mailing list archive at Nabble.com.
>



-- 
viola

Re: Farming-Application stops On All Nodes When "Master" Instance is Stopped

Posted by rjowens <rj...@us.ibm.com>.
hi,

Thanks.

As you say below, the node surviving node continues to work fine when I
"kill -9" the other.  My problem is that when I do a "graceful" shutdown of
the node that contains the "MasterConfigurationStore".  When I do this it
not only shuts down the node and obviously that node's application, but it
also shuts down the application on the surviving node.  This is a problem.

Ron




From:       "viola.lu [via Apache Geronimo]" <ml-node
            +991347-874508254-315501@n3.nabble.com>
To:         Ronald J Owens/Seattle/IBM@IBMUS
Date:       07/23/2010 08:23 PM
Subject:    Re: Farming-Application stops On All Nodes When "Master"
            Instance is  Stopped



hi,
WADI is targeted for exceptional case such as
"ctl-c" , "kill -9" shutdown web container, if you directly shutdown
server, it won't replicate session.
You can refer to section "What are WADI's goals?" of wadi page:
http://wadi.codehaus.org/faq.html#status, for your convenience, i pasted it
here:
What are WADI's goals? [08/06/04]
      In the Web tier, we can crystallise WADI's goals into two stages:
            To be able to walk into your web farm and 'ctl-c' any
            webcontainer node without losing any HttpSessions (i.e.
            customers).
            To be able to walk into the same web farm and 'kill -9' any
            webcontainer node without losing any HttpSessions (i.e.
            customers).
      The first of these two cases is important because it allows easy
      maintenance of existing h/w or s/w. This may seem a trivial
      requirement, but many existing solutions are time-consuming and/or
      error-prone (involving draining sessions off target nodes over long
      periods etc.), to the point that many sites simply accept that
      maintenance will impact quality of service. The second of these two
      cases deals with a more exceptional case - the catastrophic failure
      of a webcontainer node. As online competition for business increases,
      systems are being required to provide higher and higher levels of
      availibility. This can be critical in particular areas. The ability
      to preserve web-tier state beyond the failure of its node is
      correspondingly an increasing requirement.


On Sat, Jul 24, 2010 at 3:22 AM, rjowens <[hidden email]> wrote:

      I have two installations of Geronimo 2.1.5 installed on the same test
      server.
      Each installation has multiple instances.  I’ve created a cluster
      using
      installation1, instance1 (nodeA) and installation2, instance2
      (nodeB).  The
      logs indicate that each node is a cluster member.

      To help with application management, I’ve created a Farm with nodeA
      and
      nodeB as the only members. The test application was successfully
      deployed to
      the MasterConfigurationStore and is available on both nodes.  Also,
      stopping
      the application using G_MASTER will stop the application on both
      nodes.  So
      far, so good.  All seems to be working fine.

      The problem comes when I do a graceful shutdown of the Geronimo
      instance
      which I used to deploy the application to the
      MasterConfigurationStore
      (nodeA). Shutting down this instance also causes the application on
      nodeB to
      stop. Not so if I “kill -9” the specific instance process.
      Is this the expected reaction to a graceful shutdown?

      Also, I tried configuring the default instance of installation1 as a
      member
      of the Farm and than deploying the app to it (rmi=1099).  The app
      deploys
      okay to the clustered instances but the app on installation1,
      instance1
      (nodeA) will not start and stop through the Farm.  Any suggestions?

      Here’s some information on my configuration:

      config-substitutions.properties

      nodeA
      PortOffset=200
      ClusterNodeName=nodeA
      WADIClusterName=WADI_CLUSTER
      FarmName=WADI_FARM
      RemoteDeployHostname=localhost

      nodeB
      PortOffset=410
      ClusterNodeName=nodeB
      WADIClusterName=WADI_CLUSTER
      FarmName=WADI_FARM
      RemoteDeployHostname=localhost

      config.xml

      nodeA

      <module name="org.apache.geronimo.configs/farming/2.1.5/car">
             <gbean name="NodeInfo">
                 <attribute name="name">$
      {ClusterNodeName}</attribute>
             </gbean>
             <gbean name="ClusterInfo">
                 <attribute name="name">${FarmName}</attribute>
             </gbean>
             <gbean
      name="org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=NodeInfo,name=nodeB"

      gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
                 <attribute name="name">nodeB</attribute>
                 <attribute
      propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"

      name="extendedJMXConnectorInfo">
                     <ns:javabean
      class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo"
      xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"
      xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"
      xmlns="">
                         <ns:property
      name="username">system</ns:property>
                         <ns:property
      name="password">manager</ns:property>
                         <ns:property
      name="protocol">rmi</ns:property>
                         <ns:property
      name="host">localhost</ns:property>
                         <ns:property
      name="port">1509</ns:property>
                         <ns:property
      name="urlPath">JMXConnector</ns:property>
                         <ns:property
      name="local">false</ns:property>
                     </ns:javabean></attribute>
             </gbean>
         </module>

      nodeB

      <module name="org.apache.geronimo.configs/farming/2.1.5/car">
             <gbean name="NodeInfo">
                 <attribute name="name">$
      {ClusterNodeName}</attribute>
             </gbean>
             <gbean name="ClusterInfo">
                 <attribute name="name">${FarmName}</attribute>
             </gbean>
             <gbean
      name="org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=NodeInfo,name=nodeA"

      gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
                 <attribute name="name">nodeA</attribute>
                 <attribute
      propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"

      name="extendedJMXConnectorInfo">
                     <ns:javabean
      class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo"
      xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"
      xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"
      xmlns="">
                         <ns:property
      name="username">system</ns:property>
                         <ns:property
      name="password">manager</ns:property>
                         <ns:property
      name="protocol">rmi</ns:property>
                         <ns:property
      name="host">localhost</ns:property>
                         <ns:property
      name="port">1299</ns:property>
                         <ns:property
      name="urlPath">JMXConnector</ns:property>
                         <ns:property
      name="local">false</ns:property>
                     </ns:javabean></attribute>
             </gbean>
         </module>

      Application deployment:

      deploy.sh -u system -p manager -port 1299 deploy --targets
      "org.apache.geronimo.configs/farming/2.1.5/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.5/car,j2eeType=ConfigurationStore,name=MasterConfigurationStore"

      NodeDetection.zip geronimo-web.xml

      Any help is appreciated.  Thanks
      --
      View this message in context:
      http://apache-geronimo.328035.n3.nabble.com/Farming-Application-stops-On-All-Nodes-When-Master-Instance-is-Stopped-tp990659p990659.html

      Sent from the Users mailing list archive at Nabble.com.



--
viola



View message @
http://apache-geronimo.328035.n3.nabble.com/Farming-Application-stops-On-All-Nodes-When-Master-Instance-is-Stopped-tp990659p991347.html

To unsubscribe from Farming-Application stops On All Nodes When "Master"
Instance is Stopped, click here.

 
-- 
View this message in context: http://apache-geronimo.328035.n3.nabble.com/Farming-Application-stops-On-All-Nodes-When-Master-Instance-is-Stopped-tp990659p999442.html
Sent from the Users mailing list archive at Nabble.com.