...
The client is consistent across all the different implementations, it should do all the neat client stuff like registering a job/task and handling the sync by connecting to the synchronization server etc.
Server
TODO
Client
The server consists of methods in the interface called org.apache.hama.bsp.sync.SyncServer
. Consult the java docs for additional information.
The main implementation of Apache Hama is org.apache.hama.bsp.sync.ZooKeeperSyncServerImpl
which abstracts the use of Zookeeper.
Client
The client is described in its interface org.apache.hama.bsp.sync.SyncClient
. Note that the client takes care in registering the job as well as each tasks. It is also responsible to keep the hostnames of all tasks involved and of course the sync itself.
The main implementation of Apache Hama is org.apache.hama.bsp.sync.ZooKeeperSyncClientImpl
which abstracts the use of Zookeeper.TODO
Configuring
Both implemenations can be set by the configuration values:
...
Make sure these two configurations are consistent on every host in every configuration. And make sure that all these classes have a public default constructure since they will be instantiated via reflection.
If you decide to implement your own synchronization server, please contact us at the dev-mailing list.