mirror of https://gitee.com/bigwinds/arangodb
Cluster updates for 3.1
This commit is contained in:
parent
d0bb298d95
commit
9c4b19f21e
|
@ -14,23 +14,23 @@ In the following sections we will go through the relevant options per role.
|
|||
|
||||
!SUBSECTION Agency
|
||||
|
||||
The bare minimum to start an agent is to provide the id. The id has to be `0` for a single instance.
|
||||
To start up an agency you first have to activate it. This is done by providing `--agency.activate true`.
|
||||
|
||||
To start up the agency in its fault tolerant mode set the `--agency.size` to `3` and start the agents with increasing ids starting from `0`. Furthermore you should provide different `--server.endpoint` values to every agent.
|
||||
To start up the agency in its fault tolerant mode set the `--agency.size` to `3`. You will then have to provide at least 3 agents before the agency will start operation.
|
||||
|
||||
During initialization the agents have to find each other. To do so provide at least one common `--agency.endpoint`. The agents will then coordinate startup themselves. They will announce themselves with their external address which may be specified using `--agency.my-address`. This is required in bridged docker setups or NATed environments.
|
||||
|
||||
So in summary this is what your startup might look like:
|
||||
|
||||
```
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5001 --server.authentication false --agency.activate true --agency.size 3 --agency.supervision true agency1 &
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5002 --server.authentication false --agency.activate true --agency.size 3 --agency.supervision true agency2 &
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5003 --server.authentication false --agency.activate true --agency.size 3 --agency.endpoint tcp://127.0.0.1:5001 --agency.endpoint tcp://127.0.0.1:5002 --agency.endpoint tcp://127.0.0.1:5003 --agency.supervision true agency3 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5001 --agency.my-address=tcp://127.0.0.1:5001 --server.authentication false --agency.activate true --agency.size 3 --agency.endpoint tcp://127.0.0.1:5001 --agency.supervision true --database.directory agency1 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5002 --agency.my-address=tcp://127.0.0.1:5002 --server.authentication false --agency.activate true --agency.size 3 --agency.endpoint tcp://127.0.0.1:5001 --agency.supervision true --database.directory agency2 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5003 --agency.my-address=tcp://127.0.0.1:5003 --server.authentication false --agency.activate true --agency.size 3 --agency.endpoint tcp://127.0.0.1:5001 --agency.supervision true --database.directory agency3 &
|
||||
```
|
||||
|
||||
Note in particular that the endpoint descriptions given under `--agency.endpoint` must not use the IP address `0.0.0.0` because they must contain an actual address that can be routed to the corresponding server. The `0.0.0.0` in `--server.endpoint` simply means that the server binds itself to all available network devices with all available IP addresses.
|
||||
|
||||
If you are happy with a single agent, then simply use a single command like this:
|
||||
```
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5001 --server.authentication false --agency.activate true --agency.size 1 --agency.endpoint tcp://127.0.0.1:5001 --agency.supervision true agency1 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5001 --server.authentication false --agency.activate true --agency.size 1 --agency.endpoint tcp://127.0.0.1:5001 --agency.supervision true --database-directory agency1 &
|
||||
```
|
||||
|
||||
Furthermore, in the following sections when `--cluster.agency-address` is used multiple times to specify all three agent addresses, just use a single option ```--cluster.agency.address tcp://127.0.0.1:5001``` instead.
|
||||
|
@ -43,9 +43,9 @@ These two roles share a common set of relevant options. First you should specify
|
|||
The following is a full-example of what it might look like:
|
||||
|
||||
```
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://127.0.0.1:8529 --cluster.my-local-info db1 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 primary1 &
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://127.0.0.1:8530 --cluster.my-local-info db2 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 primary2 &
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8531 --cluster.my-address tcp://127.0.0.1:8531 --cluster.my-local-info coord1 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 coordinator &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://127.0.0.1:8529 --cluster.my-local-info db1 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 --database.directory primary1 &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://127.0.0.1:8530 --cluster.my-local-info db2 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 --database.directory primary2 &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8531 --cluster.my-address tcp://127.0.0.1:8531 --cluster.my-local-info coord1 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://127.0.0.1:5001 --cluster.agency-endpoint tcp://127.0.0.1:5002 --cluster.agency-endpoint tcp://127.0.0.1:5003 --database.directory coordinator &
|
||||
```
|
||||
|
||||
Note in particular that the endpoint descriptions given under `--cluster.my-address` and `--cluster.agency-endpoint` must not use the IP address `0.0.0.0` because they must contain an actual address that can be routed to the corresponding server. The `0.0.0.0` in `--server.endpoint` simply means that the server binds itself to all available network devices with all available IP addresses.
|
||||
|
|
|
@ -115,14 +115,14 @@ To install ArangoDB via marathon you need a proper config file:
|
|||
"--nr_dbservers=2",
|
||||
"--nr_coordinators=2",
|
||||
"--failover_timeout=86400",
|
||||
"--arangodb_image=arangodb/arangodb-mesos:3.0",
|
||||
"--arangodb_image=arangodb/arangodb-mesos:3.1",
|
||||
"--secondaries_with_dbservers=false",
|
||||
"--coordinators_with_dbservers=false"
|
||||
],
|
||||
"container": {
|
||||
"type": "DOCKER",
|
||||
"docker": {
|
||||
"image": "arangodb/arangodb-mesos-framework:3.0",
|
||||
"image": "arangodb/arangodb-mesos-framework:3.1",
|
||||
"network": "HOST"
|
||||
}
|
||||
},
|
||||
|
@ -154,4 +154,4 @@ The easiest is to simply delete ArangoDB and then deploy the cleanup-framework (
|
|||
|
||||
!SUBSECTION Configuration options
|
||||
|
||||
The Arangodb Mesos framework has a ton of different options which are listed and described here: https://github.com/arangodb/arangodb-mesos-framework/tree/3.0
|
||||
The Arangodb Mesos framework has a ton of different options which are listed and described here: https://github.com/arangodb/arangodb-mesos-framework/tree/3.1
|
||||
|
|
Loading…
Reference in New Issue