Following the instructions provided in the docs, I successfully setup the first Node of my cluster. While still following the doc for the next node, I encountered this: error during cluster setup on Node B (image)
[17:44:41 INFO] Continuing cluster setup on node B.
Cluster setup on node B has failed
System.InvalidOperationException: Cluster setup on node B has failed
 ---> System.InvalidOperationException: Validation failed.
 ---> System.InvalidOperationException: Failed to simulate running the server with the supplied settings using: https://b.otis.ravendb.community
 ---> System.InvalidOperationException: Failed to start WebHost on node 'B'. The specified ip address might not be reachable due to network issues. 
It can  happen if the ip is external (behind a firewall, docker). If this is the case, try going back to the previous screen and add the same ip as an external ip.
Settings file:E:\Hackathon\DevWeek\RavenDB\Cluster Parent\Node B\Server\settings.json.
IP addresses: 192.168.124.2:443.
 ---> System.Net.Sockets.SocketException (10049): The requested address is not valid in its context.
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
This is the settings.json file mentioned in it:
{
  "ServerUrl": "http://192.168.124.2:443",
  "Setup.Mode": "Initial",
  "DataDir": "RavenData",
  "License.Eula.Accepted": true
}
The "ServerUrl" had initially been "http://127.0.0.1:0" when the error first occurred, but it still persists.
Let's start with determining the IPs of addresses of your cluster:
$ dig b.otis.ravendb.community| grep 192
b.otis.ravendb.community. 1800  IN      A       192.168.124.2
$ dig a.otis.ravendb.community| grep 192
a.otis.ravendb.community. 1800  IN      A       192.168.124.1
The error Failed to start WebHost on node 'B'. The specified ip address might not be reachable due to network issues. indicates you are trying to set up node B on a machine where the IP is different from what has been set in the configuration - 192.168.124.2.
During server run simulation Socket.Bind() call fails since the host is not 192.168.124.2.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With