incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aimee Cheng (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (S4-107) zkClient connect timeout when deploy application
Date Wed, 21 Nov 2012 17:57:58 GMT

     [ https://issues.apache.org/jira/browse/S4-107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aimee Cheng updated S4-107:
---------------------------

    Description: 
When use the branch S4-95, commit [995bf22|https://git-wip-us.apache.org/repos/asf?p=incubator-s4.git;a=commit;h=f9689ea0055e1d7a2a8459b8ee380283767f0ac8], I cannot deploy application successful, when inject RemoteStreams the zkclient will connect timeout. 

>From the log I see that S4 node can acquired task successfully at beginning, but when load s4r file it will fail because of zkClient connection timeout. I checked that the zookeeper address passed to zkClient was right. And in another case, in the same hosts, the node which started at first can run well, but another node cannot start with the above exception.

{noformat} 
-bash-4.1$ ./s4 node -c=cluster10 -zk=fed2043:2181
15:28:52.117 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
- comm module class [org.apache.s4.comm.DefaultCommModule]
- comm configuration file [default.s4.comm.properties from classpath]
- core module class [org.apache.s4.core.DefaultCoreModule]
- core configuration file[default.s4.core.properties from classpath]
- extra modules: []
- inline parameters: []
15:28:52.158 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
15:28:52.832 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
15:28:53.041 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414046; state is : SyncConnected
15:28:53.208 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-0 by fed2044
15:28:53.300 [Main Thread] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1384451834145606764s4r]
15:28:53.303 [Main Thread] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353511733302-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
15:28:53.303 [Main Thread] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353511733302-0]
15:28:53.469 [Main Thread] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
15:28:53.520 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster10,mode=unicast,type=,nodes=[{partition=2,port=12002,machineName=fed2044,taskId=Task-2}, {partition=0,port=12000,machineName=fed2044,taskId=Task-0}]} from null
15:28:53.616 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d34519
15:29:26.477 [Main Thread] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1384451834145606764s4r}]
com.google.inject.ProvisionException: Guice provision errors:

1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
while locating org.apache.s4.comm.topology.ClustersFromZK
while locating org.apache.s4.comm.topology.Clusters
for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61)
at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

2) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
while locating org.apache.s4.comm.topology.RemoteStreams
for parameter 1 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

3) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
while locating org.apache.s4.comm.topology.RemoteStreams
for field at org.apache.s4.core.App.remoteStreams(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

3 errors
at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
15:29:26.480 [Main Thread] ERROR o.a.s.d.DistributedDeploymentManager - Cannot deploy application
org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
{noformat} 


Also, if I start a two nodes first, then deploy s4r file, both two nodes will have such problem. Follow is the error log in host fed2044.

{noformat} 
-bash-4.1$ ./s4 node -c=cluster11 -zk=fed2043:2181
15:45:39.648 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
- comm module class [org.apache.s4.comm.DefaultCommModule]
- comm configuration file [default.s4.comm.properties from classpath]
- core module class [org.apache.s4.core.DefaultCoreModule]
- core configuration file[default.s4.core.properties from classpath]
- extra modules: []
- inline parameters: []
15:45:39.689 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
15:45:40.359 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
15:45:40.578 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414060; state is : SyncConnected
15:45:40.771 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-1 by fed2044
15:53:03.437 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1117261642880164701s4r]
15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353513183440-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353513183440-0]
15:53:03.614 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
15:53:03.673 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster11,mode=unicast,type=,nodes=[{partition=0,port=12000,machineName=fed2044,taskId=Task-0}, {partition=1,port=12001,machineName=fed2044,taskId=Task-1}]} from null
15:53:03.766 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d8b192
15:53:04.125 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - New session:88692421596414064
15:53:04.134 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [UserYCT]
15:53:04.139 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [contentYCT]
15:53:04.141 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [clickview]
15:53:15.684 [ZkClient-EventThread-16-fed2043:2181] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1117261642880164701s4r}]
com.google.inject.ProvisionException: Guice provision errors:

1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
while locating org.apache.s4.comm.topology.ClustersFromZK
while locating org.apache.s4.comm.topology.Clusters
for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp

1 error
at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547) [zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) [zkclient-0.1.jar:na]
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81) ~[zkclient-0.1.jar:na]
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>) ~[guice-3.0.jar:0.5.0-incubating]
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) ~[guice-3.0.jar:na]
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945) ~[guice-3.0.jar:na]
... 5 common frames omitted
1 [ZkClient-EventThread-16-fed2043:2181] ERROR org.I0Itec.zkclient.ZkEventThread - Error handling event ZkEvent[Data of /s4/clusters/cluster11/app/s4App changed sent to org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener@16f3a299]
org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134)
at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168)
at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547)
at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71)
{noformat} 


  was:
When use the branch S4-95, commit [995bf22|https://git-wip-us.apache.org/repos/asf?p=incubator-s4.git;a=commit;h=f9689ea0055e1d7a2a8459b8ee380283767f0ac8], I cannot deploy application successful, when inject RemoteStreams the zkclient will connect timeout. 

>From the log I see that S4 node can acquired task successfully at beginning, but when load s4r file it will fail because of zkClient connection timeout. I checked that the zookeeper address passed to zkClient was right. And in another case, in the same hosts, the node which started at first can run well, but another node cannot start with the above exception.

{quote}
{noformat} 
-bash-4.1$ ./s4 node -c=cluster10 -zk=fed2043:2181
15:28:52.117 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
- comm module class [org.apache.s4.comm.DefaultCommModule]
- comm configuration file [default.s4.comm.properties from classpath]
- core module class [org.apache.s4.core.DefaultCoreModule]
- core configuration file[default.s4.core.properties from classpath]
- extra modules: []
- inline parameters: []
15:28:52.158 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
15:28:52.832 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
15:28:53.041 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414046; state is : SyncConnected
15:28:53.208 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-0 by fed2044
15:28:53.300 [Main Thread] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1384451834145606764s4r]
15:28:53.303 [Main Thread] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353511733302-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
15:28:53.303 [Main Thread] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353511733302-0]
15:28:53.469 [Main Thread] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
15:28:53.520 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster10,mode=unicast,type=,nodes=[{partition=2,port=12002,machineName=fed2044,taskId=Task-2}, {partition=0,port=12000,machineName=fed2044,taskId=Task-0}]} from null
15:28:53.616 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d34519
15:29:26.477 [Main Thread] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1384451834145606764s4r}]
com.google.inject.ProvisionException: Guice provision errors:

1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
while locating org.apache.s4.comm.topology.ClustersFromZK
while locating org.apache.s4.comm.topology.Clusters
for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61)
at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

2) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
while locating org.apache.s4.comm.topology.RemoteStreams
for parameter 1 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

3) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
while locating org.apache.s4.comm.topology.RemoteStreams
for field at org.apache.s4.core.App.remoteStreams(App.java:49)
while locating matrix.MatrixApp
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
at org.apache.s4.core.Server.loadApp(Server.java:123)
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
at org.apache.s4.core.Server.start(Server.java:87)
at org.apache.s4.core.Main.startNode(Main.java:177)
at org.apache.s4.core.Main.main(Main.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
at org.apache.s4.tools.Tools.main(Tools.java:95)

3 errors
at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
15:29:26.480 [Main Thread] ERROR o.a.s.d.DistributedDeploymentManager - Cannot deploy application
org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
{noformat} 
{quote}

Also, if I start a two nodes first, then deploy s4r file, both two nodes will have such problem. Follow is the error log in host fed2044.
{quote}
{noformat} 
-bash-4.1$ ./s4 node -c=cluster11 -zk=fed2043:2181
15:45:39.648 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
- comm module class [org.apache.s4.comm.DefaultCommModule]
- comm configuration file [default.s4.comm.properties from classpath]
- core module class [org.apache.s4.core.DefaultCoreModule]
- core configuration file[default.s4.core.properties from classpath]
- extra modules: []
- inline parameters: []
15:45:39.689 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
15:45:40.359 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
15:45:40.578 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414060; state is : SyncConnected
15:45:40.771 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-1 by fed2044
15:53:03.437 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1117261642880164701s4r]
15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353513183440-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353513183440-0]
15:53:03.614 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
15:53:03.673 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster11,mode=unicast,type=,nodes=[{partition=0,port=12000,machineName=fed2044,taskId=Task-0}, {partition=1,port=12001,machineName=fed2044,taskId=Task-1}]} from null
15:53:03.766 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d8b192
15:53:04.125 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - New session:88692421596414064
15:53:04.134 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [UserYCT]
15:53:04.139 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [contentYCT]
15:53:04.141 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [clickview]
15:53:15.684 [ZkClient-EventThread-16-fed2043:2181] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1117261642880164701s4r}]
com.google.inject.ProvisionException: Guice provision errors:

1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
while locating org.apache.s4.comm.topology.ClustersFromZK
while locating org.apache.s4.comm.topology.Clusters
for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
while locating org.apache.s4.core.RemoteSenders
for field at org.apache.s4.core.App.remoteSenders(App.java:49)
while locating matrix.MatrixApp

1 error
at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547) [zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) [zkclient-0.1.jar:na]
Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93) ~[zkclient-0.1.jar:na]
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81) ~[zkclient-0.1.jar:na]
at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>) ~[guice-3.0.jar:0.5.0-incubating]
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) ~[guice-3.0.jar:na]
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) ~[guice-3.0.jar:na]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) ~[guice-3.0.jar:na]
at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945) ~[guice-3.0.jar:na]
... 5 common frames omitted
1 [ZkClient-EventThread-16-fed2043:2181] ERROR org.I0Itec.zkclient.ZkEventThread - Error handling event ZkEvent[Data of /s4/clusters/cluster11/app/s4App changed sent to org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener@16f3a299]
org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134)
at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168)
at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547)
at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71)
{noformat} 
{quote}

    
> zkClient connect timeout when deploy application 
> -------------------------------------------------
>
>                 Key: S4-107
>                 URL: https://issues.apache.org/jira/browse/S4-107
>             Project: Apache S4
>          Issue Type: Bug
>            Reporter: Aimee Cheng
>
> When use the branch S4-95, commit [995bf22|https://git-wip-us.apache.org/repos/asf?p=incubator-s4.git;a=commit;h=f9689ea0055e1d7a2a8459b8ee380283767f0ac8], I cannot deploy application successful, when inject RemoteStreams the zkclient will connect timeout. 
> From the log I see that S4 node can acquired task successfully at beginning, but when load s4r file it will fail because of zkClient connection timeout. I checked that the zookeeper address passed to zkClient was right. And in another case, in the same hosts, the node which started at first can run well, but another node cannot start with the above exception.
> {noformat} 
> -bash-4.1$ ./s4 node -c=cluster10 -zk=fed2043:2181
> 15:28:52.117 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
> - comm module class [org.apache.s4.comm.DefaultCommModule]
> - comm configuration file [default.s4.comm.properties from classpath]
> - core module class [org.apache.s4.core.DefaultCoreModule]
> - core configuration file[default.s4.core.properties from classpath]
> - extra modules: []
> - inline parameters: []
> 15:28:52.158 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
> 15:28:52.832 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
> 15:28:53.041 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414046; state is : SyncConnected
> 15:28:53.208 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-0 by fed2044
> 15:28:53.300 [Main Thread] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1384451834145606764s4r]
> 15:28:53.303 [Main Thread] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353511733302-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
> 15:28:53.303 [Main Thread] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353511733302-0]
> 15:28:53.469 [Main Thread] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
> 15:28:53.520 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster10,mode=unicast,type=,nodes=[{partition=2,port=12002,machineName=fed2044,taskId=Task-2}, {partition=0,port=12000,machineName=fed2044,taskId=Task-0}]} from null
> 15:28:53.616 [Main Thread] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d34519
> 15:29:26.477 [Main Thread] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1384451834145606764s4r}]
> com.google.inject.ProvisionException: Guice provision errors:
> 1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
> while locating org.apache.s4.comm.topology.ClustersFromZK
> while locating org.apache.s4.comm.topology.Clusters
> for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
> while locating org.apache.s4.core.RemoteSenders
> for field at org.apache.s4.core.App.remoteSenders(App.java:49)
> while locating matrix.MatrixApp
> Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
> at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
> at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61)
> at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>)
> at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
> at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
> at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
> at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
> at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
> at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
> at org.apache.s4.core.Server.loadApp(Server.java:123)
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
> at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
> at org.apache.s4.core.Server.start(Server.java:87)
> at org.apache.s4.core.Main.startNode(Main.java:177)
> at org.apache.s4.core.Main.main(Main.java:86)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
> at org.apache.s4.tools.Tools.main(Tools.java:95)
> 2) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
> at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
> while locating org.apache.s4.comm.topology.RemoteStreams
> for parameter 1 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
> while locating org.apache.s4.core.RemoteSenders
> for field at org.apache.s4.core.App.remoteSenders(App.java:49)
> while locating matrix.MatrixApp
> Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
> at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
> at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
> at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
> at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
> at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
> at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
> at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
> at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
> at org.apache.s4.core.Server.loadApp(Server.java:123)
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
> at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
> at org.apache.s4.core.Server.start(Server.java:87)
> at org.apache.s4.core.Main.startNode(Main.java:177)
> at org.apache.s4.core.Main.main(Main.java:86)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
> at org.apache.s4.tools.Tools.main(Tools.java:95)
> 3) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:94)
> at org.apache.s4.comm.topology.RemoteStreams.class(RemoteStreams.java:57)
> while locating org.apache.s4.comm.topology.RemoteStreams
> for field at org.apache.s4.core.App.remoteStreams(App.java:49)
> while locating matrix.MatrixApp
> Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93)
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81)
> at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49)
> at org.apache.s4.comm.topology.RemoteStreams.<init>(RemoteStreams.java:97)
> at org.apache.s4.comm.topology.RemoteStreams$$FastClassByGuice$$47a2c59.newInstance(<generated>)
> at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
> at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
> at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76)
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945)
> at org.apache.s4.core.Server.loadApp(Server.java:123)
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128)
> at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181)
> at org.apache.s4.core.Server.start(Server.java:87)
> at org.apache.s4.core.Main.startNode(Main.java:177)
> at org.apache.s4.core.Main.main(Main.java:86)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54)
> at org.apache.s4.tools.Tools.main(Tools.java:95)
> 3 errors
> at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
> at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
> at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
> 15:29:26.480 [Main Thread] ERROR o.a.s.d.DistributedDeploymentManager - Cannot deploy application
> org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.deploy.DistributedDeploymentManager.start(DistributedDeploymentManager.java:181) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Server.start(Server.java:87) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Main.startNode(Main.java:177) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.core.Main.main(Main.java:86) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31]
> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31]
> at org.apache.s4.tools.Tools$Task.dispatch(Tools.java:54) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.tools.Tools.main(Tools.java:95) ~[s4-tools-0.5.0-incubating.jar:0.5.0-incubating]
> {noformat} 
> Also, if I start a two nodes first, then deploy s4r file, both two nodes will have such problem. Follow is the error log in host fed2044.
> {noformat} 
> -bash-4.1$ ./s4 node -c=cluster11 -zk=fed2043:2181
> 15:45:39.648 [Main Thread] INFO org.apache.s4.core.Main - Initializing S4 node with :
> - comm module class [org.apache.s4.comm.DefaultCommModule]
> - comm configuration file [default.s4.comm.properties from classpath]
> - core module class [org.apache.s4.core.DefaultCoreModule]
> - core configuration file[default.s4.core.properties from classpath]
> - extra modules: []
> - inline parameters: []
> 15:45:39.689 [Main Thread] DEBUG org.apache.s4.core.Main - Adding named parameters for injection : [s4.cluster.zk_address=fed2043:2181]
> 15:45:40.359 [Main Thread] INFO org.apache.s4.core.Main - Starting S4 node. This node will automatically download applications published for the cluster it belongs to
> 15:45:40.578 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - New session:88692421596414060; state is : SyncConnected
> 15:45:40.771 [Main Thread] INFO o.a.s.comm.topology.AssignmentFromZK - Successfully acquired task:Task-1 by fed2044
> 15:53:03.437 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - Loading application [myApp] from file [/tmp/tmp1117261642880164701s4r]
> 15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] WARN o.a.s4.base.util.S4RLoaderFactory - s4.tmp.dir not specified, using temporary directory [/tmp/1353513183440-0] for unpacking S4R. You may want to specify a parent non-temporary directory.
> 15:53:03.441 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.base.util.S4RLoaderFactory - Unzipping S4R archive in [/tmp/1353513183440-0]
> 15:53:03.614 [ZkClient-EventThread-16-fed2043:2181] INFO org.apache.s4.core.Server - App class name is: matrix.MatrixApp
> 15:53:03.673 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Changing cluster topology to { nbNodes=2,name=cluster11,mode=unicast,type=,nodes=[{partition=0,port=12000,machineName=fed2044,taskId=Task-0}, {partition=1,port=12001,machineName=fed2044,taskId=Task-1}]} from null
> 15:53:03.766 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClusterFromZK - Adding topology change listener:org.apache.s4.comm.tcp.TCPEmitter@16d8b192
> 15:53:04.125 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - New session:88692421596414064
> 15:53:04.134 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [UserYCT]
> 15:53:04.139 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [contentYCT]
> 15:53:04.141 [ZkClient-EventThread-16-fed2043:2181] INFO o.a.s4.comm.topology.ClustersFromZK - Detected new stream [clickview]
> 15:53:15.684 [ZkClient-EventThread-16-fed2043:2181] ERROR org.apache.s4.core.Server - Could not load s4 application form s4r file [{/tmp/tmp1117261642880164701s4r}]
> com.google.inject.ProvisionException: Guice provision errors:
> 1) Error injecting constructor, org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:57)
> while locating org.apache.s4.comm.topology.ClustersFromZK
> while locating org.apache.s4.comm.topology.Clusters
> for parameter 2 at org.apache.s4.core.RemoteSenders.<init>(RemoteSenders.java:66)
> while locating org.apache.s4.core.RemoteSenders
> for field at org.apache.s4.core.App.remoteSenders(App.java:49)
> while locating matrix.MatrixApp
> 1 error
> at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) ~[guice-3.0.jar:na]
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) ~[guice-3.0.jar:na]
> at org.apache.s4.core.Server.loadApp(Server.java:123) ~[s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:128) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168) [s4-core-0.5.0-incubating.jar:0.5.0-incubating]
> at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547) [zkclient-0.1.jar:na]
> at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) [zkclient-0.1.jar:na]
> Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
> at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876) ~[zkclient-0.1.jar:na]
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:99) ~[zkclient-0.1.jar:na]
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:93) ~[zkclient-0.1.jar:na]
> at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:81) ~[zkclient-0.1.jar:na]
> at org.apache.s4.comm.topology.ZkClient.<init>(ZkClient.java:49) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.comm.topology.ClustersFromZK.<init>(ClustersFromZK.java:61) ~[s4-comm-0.5.0-incubating.jar:0.5.0-incubating]
> at org.apache.s4.comm.topology.ClustersFromZK$$FastClassByGuice$$7a883668.newInstance(<generated>) ~[guice-3.0.jar:0.5.0-incubating]
> at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) ~[guice-3.0.jar:na]
> at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) ~[guice-3.0.jar:na]
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) ~[guice-3.0.jar:na]
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
> at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) ~[guice-3.0.jar:na]
> at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) ~[guice-3.0.jar:na]
> at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) ~[guice-3.0.jar:na]
> at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) ~[guice-3.0.jar:na]
> at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) ~[guice-3.0.jar:na]
> at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:76) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
> at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) ~[guice-3.0.jar:na]
> at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) ~[guice-3.0.jar:na]
> at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:945) ~[guice-3.0.jar:na]
> ... 5 common frames omitted
> 1 [ZkClient-EventThread-16-fed2043:2181] ERROR org.I0Itec.zkclient.ZkEventThread - Error handling event ZkEvent[Data of /s4/clusters/cluster11/app/s4App changed sent to org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener@16f3a299]
> org.apache.s4.deploy.DeploymentFailedException: Cannot deploy application [myApp] from URI [file:/tmp/myApp/build/libs/myApp.s4r] : cannot start application
> at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:134)
> at org.apache.s4.deploy.DistributedDeploymentManager$AppChangeListener.handleDataChange(DistributedDeploymentManager.java:168)
> at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:547)
> at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71)
> {noformat} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message