You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Baltej Singh <bs...@ra.rockwell.com> on 2016/12/02 17:04:30 UTC
Camel-ZooKeeperRoutePolicy clarification - Slave Camel does not start
after Master Camel shutdown
Second Attempt for feedback - Slave Camel does not start after Master Camel shutdown
Steps
1. Start Master and Slave in separate cmds
2. Master Camel server starts properly and prints message.
I was fired at Fri Nov 18 15:18:28 PST 2016
I was fired at Fri Nov 18 15:18:30 PST 2016
I was fired at Fri Nov 18 15:18:32 PST 2016
...
3. Slave Camel server is started but not processing route, as expected.
4. Kill Master - expect Slave to start route, but Slave route never starts
From: Baltej Singh
Sent: Friday, November 18, 2016 3:34 PM
To: 'users@camel.apache.org' <us...@camel.apache.org>
Subject: Camel-ZooKeeperRoutePolicy clarification - Slave Camel does not start after Master Camel shutdown
Hello,
I a simple application to test my first zookeeper/camel cluster.
When I Kill the Master Camel server, I expect Slave to start route, but Slave route never starts.
What is missing in the java code?
Thanks,
Baltej
Java code - Started with Camel in Action 2 sample quartz route
public class QuartzCronWithPolicy {
public static void main(String args[]) throws Exception {
CamelContext context = new DefaultCamelContext();
ZooKeeperComponent zookeeperComponent = new ZooKeeperComponent();
ZooKeeperConfiguration zooConfig = new ZooKeeperConfiguration();
zooConfig.addZookeeperServer("localhost:2182");
zooConfig.addZookeeperServer("localhost:2183");
zookeeperComponent.setConfiguration(zooConfig);
context.addRoutes(new RouteBuilder() {
public void configure() {
ZooKeeperRoutePolicy zooKeeperRoutePolicy = new ZooKeeperRoutePolicy("zookeeper://localhost:2181/ELECTION", 1);
from("quartz2://report?cron=0/2+*+*+*+*+?")
.routePolicy(zooKeeperRoutePolicy)
.setBody().simple("I was fired at ${header.fireTime}")
.to("stream:out")
.to("mock:end");
}
});
context.start();
}
}
Followed docs at:
http://camel.apache.org/zookeeper.html
Camel setup, followed:
http://frommyworkshop.blogspot.com/2013/06/leader-election-of-camel-router-through.html
Zookeeper setup, followed:
http://myjeeva.com/zookeeper-cluster-setup.html
Environment
Using Camel 2.17.3 and zookeeper-3.4.9
3 nodes in zookeeper cluster
2 Camel nodes Master/Slave
Route prints a message every 2 seconds.
Zookeeper data tree
C:\tools\zookeeper\data>tree
Folder PATH listing for volume RAW7121218
Volume serial number is 0C09-AE01
C:.
├───zk1
│ └───version-2
├───zk2
│ └───version-2
├───zk3
│ └───version-2
Zookeeper Log
2016-11-18 10:56:08,196 [myid:1] - WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@116] - Got zxid 0x700000001 expected 0x1
2016-11-18 10:56:08,282 [myid:1] - INFO [CommitProcessor:1:ZooKeeperServer@673] - Established session 0x158787a0a7f0000 with negotiated timeout 5000
for client /0:0:0:0:0:0:0:1:2872
2016-11-18 10:56:08,287 [myid:1] - INFO [CommitProcessor:1:ZooKeeperServer@673] - Established session 0x158787a0a7f0001 with negotiated timeout 5000
for client /0:0:0:0:0:0:0:1:2873
2016-11-18 10:57:03,968 [myid:1] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@362] - Exception causing close of session 0x158787a0
a7f0001 due to java.io.IOException: An existing connection was forcibly closed by the remote host
2016-11-18 10:57:03,988 [myid:1] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1008] - Closed socket connection for client /0:0:0:0
:0:0:0:1:2873 which had sessionid 0x158787a0a7f0001
2016-11-18 10:58:33,251 [myid:1] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@362] - Exception causing close of session 0x158787a0
a7f0000 due to java.io.IOException: An existing connection was forcibly closed by the remote host
2016-11-18 10:58:33,251 [myid:1] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1008] - Closed socket connection for client /0:0:0:0
:0:0:0:1:2872 which had sessionid 0x158787a0a7f0000