On 27 Dec 2011, at 12:07, "Cédric SAMSON" <cedric.sam...@adeuxi.com> wrote:
> Yes I tried and it works fine, but I just want all is automatic. FarmWarDeployer doesn't do that. It is a push mechanism rather than a repository of applications queued for deployment. p > I mean, a machine crash, we have to change it. > The new machine has : > > 1. the same IP > 2. the same name > 3. the same tomcat configuration (but without the war files already > deployed) > > as the previous machine (in order to not restart the load balancer and > not interrupt the service). > > The best for me is that all the war in the watchdir of the master node > (the one with watchEnabled="true" ) are deployed in this new machine > because the contexts don't yet exist on this node. > It's only for machine replacement purpose. > > For a "real" new node, we are force to reboot the cluster after > declaring the new node in the balancer. > > Thanks for helping > > Le 27/12/2011 12:09, Pid * a écrit : >> On 26 Dec 2011, at 14:33, "Cédric SAMSON"<cedric.sam...@adeuxi.com> wrote: >> >>> Hi all, >>> >>> >>> Context : >>> I have a cluster with 2 nodes (both on linux). >>> >>> * The master node is configured as below : * >>> >>> <Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat-1"> >>> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" >>> resourceName="UserDatabase"/> >>> >>> <Host name="localhost" appBase="webapps" >>> unpackWARs="true" autoDeploy="true" >>> xmlValidation="false" xmlNamespaceAware="false"> >>> >>> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" >>> channelSendOptions="8"> >>> >>> <Manager className="org.apache.catalina.ha.session.DeltaManager" >>> expireSessionsOnShutdown="false" >>> notifyContainerListenersOnReplication="true" >>> notifySessionListenersOnReplication="true" >>> notifyListenersOnReplication="true"/> >>> >>> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> >>> >>> <Membership className="org.apache.catalina.tribes.membership.McastService" >>> address="228.0.0.3" >>> port="45566" >>> frequency="500" >>> dropTime="3000"/> >>> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" >>> address="192.168.30.51" >>> port="3100" >>> autoBind="100" >>> selectorTimeout="5000" >>> maxThreads="6"/> >>> >>> <Sender >>> className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> >>> <Transport >>> className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> >>> </Sender> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> >>> </Channel> >>> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="" >>> statistics="true"/> >>> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> >>> >>> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" >>> tempDir="/usr/local/tomcat/webapps/tempdir" >>> deployDir="/usr/local/tomcat/webapps/" >>> watchDir="/usr/local/tomcat/watchdir/" >>> watchEnabled="true"/> >>> >>> <ClusterListener >>> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> >>> <ClusterListener >>> className="org.apache.catalina.ha.session.ClusterSessionListener"/> >>> >>> </Cluster> >>> >>> </Host> >>> </Engine> >>> >>> * The slave node is configured as below : * >> The term 'slave' is an odd one to use here. >> >> >>> <Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat-1"> >>> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" >>> resourceName="UserDatabase"/> >>> >>> <Host name="localhost" appBase="webapps" >>> unpackWARs="true" autoDeploy="true" >>> xmlValidation="false" xmlNamespaceAware="false"> >>> >>> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" >>> channelSendOptions="8"> >>> >>> <Manager className="org.apache.catalina.ha.session.DeltaManager" >>> expireSessionsOnShutdown="false" >>> notifyContainerListenersOnReplication="true" >>> notifySessionListenersOnReplication="true" >>> notifyListenersOnReplication="true"/> >>> >>> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> >>> >>> <Membership className="org.apache.catalina.tribes.membership.McastService" >>> address="228.0.0.3" >>> port="45566" >>> frequency="500" >>> dropTime="3000"/> >>> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" >>> address="192.168.30.54" >>> port="3100" >>> autoBind="100" >>> selectorTimeout="5000" >>> maxThreads="6"/> >>> >>> <Sender >>> className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> >>> <Transport >>> className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> >>> </Sender> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> >>> <Interceptor >>> className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> >>> </Channel> >>> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="" >>> statistics="true"/> >>> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> >>> >>> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" >>> tempDir="/usr/local/tomcat/webapps/tempdir" >>> deployDir="/usr/local/tomcat/webapps/" >>> watchDir="/usr/local/tomcat/watchdir/" >>> watchEnabled="false"/> >>> >>> <ClusterListener >>> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> >>> <ClusterListener >>> className="org.apache.catalina.ha.session.ClusterSessionListener"/> >>> >>> </Cluster> >>> >>> </Host> >>> </Engine> >>> >>> All works fine. >>> >>> I try to add a new war file in the master node folder >>> "/usr/local/tomcat/watchdir/", after few seconds, the war is correctly >>> deployed on both nodes. >>> Now i try to add a third node configured exactily as the slave (i just >>> change the IP address of receiver to match with the one of the machine). In >>> the master node log, i can see a new member is added, with the correct IP, >>> but the war already deployed on the cluster aren't deployed on the new node. >>> >>> * Question : * >>> What's the way to be able to auto deploy on new node without restart the >>> master node ? (when i restart the master node, all the nodes of the cluster >>> are OK). >> Did you try to deploy the app again after the new node has joined? >> >> >> p >> >> >>> Best regards >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>> For additional commands, e-mail: users-h...@tomcat.apache.org >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org