ArangoDB Server Clusters Options

Agency endpoint

List of agency endpoints:

—cluster.agency-endpoint <endpoint>

An agency endpoint the server can connect to. The option can be specifiedmultiple times, so the server can use a cluster of agency servers.Endpoints have the following pattern:

  • tcp://ipv4-address:port - TCP/IP endpoint, using IPv4
  • tcp://[ipv6-address]:port - TCP/IP endpoint, using IPv6
  • ssl://ipv4-address:port - TCP/IP endpoint, using IPv4, SSL encryption
  • ssl://[ipv6-address]:port - TCP/IP endpoint, using IPv6, SSL encryptionAt least one endpoint must be specified or ArangoDB will refuse to start.It is recommended to specify at least two endpoints so ArangoDB has analternative endpoint if one of them becomes unavailable.

Examples

  1. --cluster.agency-endpoint tcp://192.168.1.1:4001 --cluster.agency-endpoint tcp://192.168.1.2:4002 ...

My address

This server’s address / endpoint:

—cluster.my-address <endpoint>

The server’s endpoint for cluster-internal communication. If specified, itmust have the following pattern:

  • tcp://ipv4-address:port - TCP/IP endpoint, using IPv4
  • tcp://[ipv6-address]:port - TCP/IP endpoint, using IPv6
  • ssl://ipv4-address:port - TCP/IP endpoint, using IPv4, SSL encryption
  • ssl://[ipv6-address]:port - TCP/IP endpoint, using IPv6, SSL encryptionIf no endpoint is specified, the server will look up its internalendpoint address in the agency. If no endpoint can be found in the agencyfor the server’s id, ArangoDB will refuse to start.

Examples

Listen only on interface with address 192.168.1.1:

  1. --cluster.my-address tcp://192.168.1.1:8530

Listen on all ipv4 and ipv6 addresses, which are configured on port 8530:

  1. --cluster.my-address ssl://[::]:8530

My advertised endpoint

This server’s advertised endpoint(e.g. external IP address or load balancer, optional):

—cluster.my-advertised-endpoint <endpoint>

This servers’s endpoint for external communication. If specified, itmust have the following pattern:

  • tcp://ipv4-address:port - TCP/IP endpoint, using IPv4
  • tcp://[ipv6-address]:port - TCP/IP endpoint, using IPv6
  • ssl://ipv4-address:port - TCP/IP endpoint, using IPv4, SSL encryption
  • ssl://[ipv6-address]:port - TCP/IP endpoint, using IPv6, SSL encryptionIf no advertised endpoint is specified, no external endpoint will be advertised.

Examples

If an external interface is available to this server, it can bespecified to communicate with external software / drivers:

  1. --cluster.my-advertised-endpoint tcp://some.public.place:8530

All specifications of endpoints apply.

My role

This server’s role:

—cluster.my-role <dbserver|coordinator>

The server’s role. Is this instance a DBServer (backend data server)or a coordinator (frontend server for external and application access).

Require existing ID

Require an existing server id:

—cluster.require-persisted-id <bool>

If set to true, then the instance will only start if a UUID file is found in the database on startup. Setting this option will make sure the instance is started using an already existing database directory from a previousstart, and not a new one. For the first start, the UUID file must either be created manually in the database directory, or the option must be set to false for the initial startup and only turned on for restarts.

More advanced options

These options should generally remain untouched.

Synchronous replication minimum timeout

—cluster.synchronous-replication-timeout-minimum <double>

Introduced in: v3.4.8, v3.5.1

The minimum timeout in seconds for the internal synchronous replicationmechanism between DBServers. If replication requests are slow, but the serversare otherwise healthy, timeouts can cause followers to be droppedunnecessarily, resulting in costly resync operations. Increasing this value mayhelp avoid such resyncs. Conversely, decreasing it may cause more resyncs,while lowering the latency of individual write operations. Please change onlywith intent and great care. Default at 30.0 seconds.

Synchronous replication timeout scaling

—cluster.synchronous-replication-timeout-factor <double>

Stretch or clinch timeouts for internal synchronous replicationmechanism between DBServers. All such timeouts are affected by thischange. Please change only with intent and great care. Default at 1.0.

System replication factor

—cluster.system-replication-factor <integer>

Change default replication factor for system collections. Default at 2.