Skip to content

Commit a3099fb

Browse files
authored
Doc - ArangoDB Starter Recovery Procedure (#179)
1 parent 6917eff commit a3099fb

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
ArangoDB Starter Recovery Procedure
2+
===================================
3+
4+
This procedure is intended to recover a cluster (that was started with the ArangoDB
5+
_Starter_) when a machine of that cluster is broken without the possibility to recover
6+
it (e.g. complete HD failure). In the procedure is does not matter if a replacement
7+
machine uses the old or a new IP address.
8+
9+
To recover from this scenario, you must:
10+
- Create a new (replacement) machine with ArangoDB (including _Starter_) installed.
11+
- Create a file called `RECOVERY` in the directory you are going to use as data
12+
directory of the _Starter_ (the one that is passed via the option `--starter.data-dir`).
13+
This file must contain the IP address and port of the _Starter_ that has been
14+
broken (and will be replaced with this new machine).
15+
16+
E.g.
17+
18+
```bash
19+
echo "192.168.1.25:8528" > $DATADIR/RECOVERY
20+
```
21+
22+
After creating the `RECOVERY` file, start the _Starter_ using all the normal command
23+
line arguments.
24+
25+
The _Starter_ will now:
26+
1) Talk to the remaining _Starters_ to find the ID of the _Starter_ it replaces and
27+
use that ID to join the remaining _Starters_.
28+
1) Talk to the remaining _Agents_ to find the ID of the _Agent_ it replaces and
29+
adjust the command-line arguments of the _Agent_ (it will start) to use that ID.
30+
This is skipped if the _Starter_ was not running an _Agent_.
31+
1) Remove the `RECOVERY` file from the data directory.
32+
33+
The cluster will now recover automatically. It will however have one more _Coordinators_
34+
and _DBServers_ than expected. Exactly one _Coordinator_ and one _DBServer_ will
35+
be listed "red" in the web UI of the database. They will have to be removed manually
36+
using the ArangoDB Web UI.

0 commit comments

Comments
 (0)