On Apr 16, 2013, at 09:45 , ?????? wrote: > Hi,while S4 zkserver is running and the cluster and nodes is already > deployde,now I overwrite the app again.I use the command "./s4 s4r " package > the app,and redeploy the app onto the cluster.However,it doesn't work!The log > is below: > > [root@202 myApp]# ./s4 deploy -s4r=`pwd`/build/libs/myApp.s4r -c=cluster1 > -appName=myApp -zk=202.194.14.172 > calling referenced s4 script : /root/apache-s4-0.6.0-incubating-bin/s4 > 23:31:49.891 [main] INFO org.apache.s4.tools.Deploy - Using specified S4R > [file:/tmp/s4share/myApp/build/libs/myApp.s4r] > 23:31:50.207 [main] WARN org.apache.s4.deploy.DeploymentUtils - Node > /s4/clusters/cluster1/app/s4App already exists, will not overwrite > > It warns that s4App already exists and overwriting the app is not allowed.How > can I redeploy the overwrited app onto the cluster without reboot the > zkServer? >
Currently, you cannot do that. And you can only deploy an app on a clean node (with no previously installed app, meaning you have to restart the nodes if there was a previously deployed app). To get rid of the previous app configuration in ZooKeeper you need to either restart a clean ZooKeeper (that might be ok when testing) or delete the corresponding node ( /s4/clusters/<your cluster>/app/s4App ). You may use ZooKeeper cli or the ZooKeeper API for that. Hope this helps, Matthieu
