//create d2 announcers (for announcing the existence of these servers to the world)
ZooKeeperAnnouncer[] zkAnnouncers = createZkAnnouncers(d2ServersConfigs);
//manager will keep track of the lifecycle of d2 announcers i.e. start publishing
//once connected to zookeeper, reconnect if zookeeper is disconnected, etc
ZooKeeperConnectionManager manager = createZkManager(json, zkAnnouncers);
System.out.println("Starting zookeeper announcers");
ExecutorService executorService = Executors.newSingleThreadExecutor();
startAnnouncers(manager, executorService, timeout);