EventStoreBuilder.newBuilder().clusterNodeUsingDns(cluster -> cluster.dns("")).userCredential("admin", "changeit").build() fail?

Dear Sir/Madam:

I try to create a eventstore builder with “clusterNodeUsingDns(cluster -> cluster.dns(”")).userCredential(“admin”, “changeit”).build()"

It failed with following error messages:

INFO [esio-1-2] [ClusterEndpointDiscoverer.java:74] Discovering attempt 1/10 failed: no candidate found.

INFO [esio-1-3] [ClusterEndpointDiscoverer.java:74] Discovering attempt 2/10 failed: no candidate found.

INFO [esio-1-4] [ClusterEndpointDiscoverer.java:74] Discovering attempt 3/10 failed: no candidate found.

INFO [esio-1-1] [ClusterEndpointDiscoverer.java:74] Discovering attempt 4/10 failed: no candidate found.

INFO [esio-1-2] [ClusterEndpointDiscoverer.java:74] Discovering attempt 5/10 failed: no candidate found.

INFO [esio-1-3] [ClusterEndpointDiscoverer.java:74] Discovering attempt 9/10 failed: no candidate found.

INFO [esio-1-4] [ClusterEndpointDiscoverer.java:74] Discovering attempt 10/10 failed: no candidate found.

ERROR [esio-1-3] [EvetnStoreTCP.java:599] Unable to connect: Cannot resolve target end point.

ERROR [es-1-2] [EventStroreTCP.java:853] Failed to resolve TCP endping to which to connect

We have get singleNodeAddress eventstore builder working perfectly, even TCP with SSL.

Any one could give me some clues?

Best wishes,

Hi,

I am not familiar with the client you are using, but are you providing a DNS record to use for cluster discovery?

The DNS record needs to point to the IP addresses of the nodes that will form the cluster to allow the client to discover them.

Thanks for your reply.

All nodes (master and slaves or clones) are AWS ubuntu instances.

Should we install dns discovery agents on those nodes?

Which agents are suitable for Linux ubuntu machine instance.

If you are using literally

“clusterNodeUsingDns(cluster -> cluster.dns(”")).userCredential(“admin”, “changeit”).build()"

it will fail as you are not giving it a valid dns name.

Dear Greg:

I indeed did put the correct and valid domain name within that field, as an example, cluster.dns(“zone.good.valid.org”).

The error messages are as following:

INFO [esio-1-2] [ClusterEndpointDiscoverer.java:74] Discovering attempt 1/10 failed: no candidate found.

INFO [esio-1-3] [ClusterEndpointDiscoverer.java:74] Discovering attempt 2/10 failed: no candidate found.

INFO [esio-1-4] [ClusterEndpointDiscoverer.java:74] Discovering attempt 3/10 failed: no candidate found.

INFO [esio-1-1] [ClusterEndpointDiscoverer.java:74] Discovering attempt 4/10 failed: no candidate found.

INFO [esio-1-2] [ClusterEndpointDiscoverer.java:74] Discovering attempt 5/10 failed: no candidate found.

The cluster’s HTTP(s) works,

External TCP works.

External TCP with SSL works.

I suspect the DNS discovery settings have some issues.

Great thanks for your kind response and assistance.

Best wishes,

The dns discovery seems to work fine for everyone else. Perhaps you can put up some code?

Dear Greg:

My colleague fixed the issue with “.externalGossipPort(80)”.

Their fix is :

clusterNodeUsingDns(cluster -> cluster.dns(“zone.good.valid.org”).externalGossipPort(80)).userCredential(“admin”, “changeit”).build()

Probably this setting should have been put inside the configuration file?

If it is, what is the exact field name for “external gossip port”?

     ExtGossipPort: 80   ?

Best wishes

In what configuration file? That is telling the client what port to gossip to. I am not sure what you are asking here.

Dear Greg:

Sorry, wrong idea.

If it is from client site initiating the gossip, not relevant to server configuration.

Thanks for your helpful comments.

Cheers,