We can pass `-Dtests.cluster.debug.enabled=true` to REST tests to enable debugging for the test cluster, i.e. it will attempt to connect to a debugger. The port number begins with 5007 and plus 1 for each additional node in the cluster. This works fine with a single cluster. But when a test have 2 clusters (for CCS tests, e.g. [RemoteClusterSecurityRestIT](https://github.com/elastic/elasticsearch/blob/aedf98435e25d3b931b123f5039ab50a89698b68/x-pack/plugin/security/qa/multi-cluster/src/javaRestTest/java/org/elasticsearch/xpack/remotecluster/RemoteClusterSecurityRestIT.java#L36)), the second cluster will again start with port 5007 as well and conflict with the 1st cluster and fail. 

It would be great to have the 2nd cluster to use a different set of ports. It would be nice to have the port number range to be predicatable for each cluster. It may also be useful if we can enable debugging separately for each cluster.
test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java
}
            throw new IllegalArgumentException("Log file " + logFile + " does not exist.");
        }
        public LocalNodeSpec getSpec() {
            return spec;
        }
        Path getWorkingDir() {
            return workingDir;
        }
        public void waitUntilReady() {
            try {
                Retry.retryUntilTrue(NODE_UP_TIMEOUT, Duration.ofMillis(500), () -> {
                    if (process.isAlive() == false) {
                        throw new RuntimeException(
                            "Elasticsearch process died while waiting for ports file. See console output for details."
                        );
                    }
                    Path httpPorts = workingDir.resolve("logs").resolve("http.ports");
                    Path transportPorts = workingDir.resolve("logs").resolve("transport.ports");
                    return Files.exists(httpPorts) && Files.exists(transportPorts);
                });
            } catch (TimeoutException e) {
                throw new RuntimeException("Timed out after " + NODE_UP_TIMEOUT + " waiting for ports files for: " + this);
            } catch (ExecutionException e) {
                throw new RuntimeException("An error occurred while waiting for ports file for: " + this, e);
            }
        }
        private void createConfigDirectory() {
            try {
                IOUtils.deleteWithRetry(configDir);