final boolean configure() {
		if (this.brokerNum != 1 && this.isBrokerOnNFS) {
			System.err
					.println("Errors happen in checking broker number settings.");
			return false;
		}
		// select brokers
		boolean status = true;
		status = selectBrokers();
		if (!status) {
			System.err.println("Errors happen in selecting brokers.");
			return false;
		}
		// distribute brokers as required
		if (this.brokerNum != 1) {
			System.out.println("Distribute brokers...");
			status = distributeBrokers();
			if (!status) {
				System.err
						.println("Errors happen in distributing broker packages");
				return false;
			}
		}
		// setup files in broker servers and broker clients
		status = setupBrokerServerFiles();
		if (!status) {
			System.err.println("Errors happen in setuping broker server files");
			return false;
		}
		status = setupBrokerClientFiles();
		if (!status) {
			System.err.println("Errors happen in setuping broker client files");
			return false;
		}
		status = setupBrokerNodesFile();
		if (!status) {
			System.err.println("Errors happen in setuping broker node files");
			return false;
		}
		return status;
	}