Zookeeper supported Automatic Failover in a Master Worker Distributed Execution

Summary

  • This project uses Zookeeper to implement an automatic failover mechanism in a master-worker distributed execution of graph-bridge programs. Client.java, (i.e., the master) connects to ZooKeeper; submits 10 different tasks, each executing GraphBride.java with a different graph size; and waits for all tasks to be completed by remote worker processes. Each worker which should be implemented in Worker.java joins Zookeeper; repetitively starts a new task; and fails over a task if it is not done within 100 seconds. Distributed synchronization must be implemented in Key.java to have all the workers access the bag of tasks exclusively.

  • This project is built using Apache Zookeeper, Java and JSCH