1
0
Fork 0

Add mesos instructions

This commit is contained in:
Andreas Streichardt 2016-07-29 10:47:32 +02:00
parent 04bac349df
commit 34141de36f
1 changed files with 95 additions and 0 deletions

View File

@ -663,6 +663,101 @@ up in the GNU debugger in separate windows (using `xterm`s). In that
case one has to hit ENTER in the original terminal where the script runs case one has to hit ENTER in the original terminal where the script runs
to continue, once all processes have been start up in the debugger. to continue, once all processes have been start up in the debugger.
ArangoDB on Mesos
=================
Requirements:
- Somewhat recent linux
- docker
- curl
- jq
- git
- at least 8GB RAM
To startup a local mesos cluster:
```
git clone https://github.com/m0ppers/mesos-cluster
cd mesos-cluster
mkdir /tmp/mesos-cluster
./start-cluster.sh /tmp/mesos-cluster/ --num-slaves=5 --rm --name mesos-cluster
```
Then save the following configuration to a local file and name it `arangodb3.json`:
```
{
"id": "arangodb",
"cpus": 0.25,
"mem": 256.0,
"ports": [0, 0, 0],
"instances": 1,
"args": [
"framework",
"--framework_name=arangodb",
"--master=zk://172.17.0.2:2181/mesos",
"--zk=zk://172.17.0.2:2181/arangodb",
"--user=",
"--principal=pri",
"--role=arangodb",
"--mode=cluster",
"--async_replication=false",
"--minimal_resources_agent=mem(*):512;cpus(*):0.25;disk(*):512",
"--minimal_resources_dbserver=mem(*):1024;cpus(*):0.25;disk(*):1024",
"--minimal_resources_secondary=mem(*):1024;cpus(*):0.25;disk(*):1024",
"--minimal_resources_coordinator=mem(*):1024;cpus(*):0.25;disk(*):1024",
"--nr_agents=3",
"--nr_dbservers=2",
"--nr_coordinators=2",
"--failover_timeout=86400",
"--arangodb_privileged_image=false",
"--arangodb_force_pull_image=true",
"--arangodb_image=arangodb/arangodb-mesos:3.0",
"--secondaries_with_dbservers=false",
"--coordinators_with_dbservers=false"
],
"container": {
"type": "DOCKER",
"docker": {
"image": "arangodb/arangodb-mesos-framework:3.0",
"network": "HOST"
}
},
"healthChecks": [
{
"protocol": "HTTP",
"path": "/framework/v1/health.json",
"gracePeriodSeconds": 3,
"intervalSeconds": 10,
"portIndex": 0,
"timeoutSeconds": 10,
"maxConsecutiveFailures": 0
}
]
}
```
Adjust the lines `--master` and `--zk` to match the IP of your mesos-cluster:
```
docker inspect mesos-cluster | jq '.[0].NetworkSettings.Networks.bridge.IPAddress'
```
And deploy the modified file to your local mesos cluster:
```
curl -X POST $(docker inspect mesos-cluster | jq -r '.[0].NetworkSettings.Networks.bridge.IPAddress'):8080/v2/apps -d @arangodb3.json -H "Content-Type: application/json" | jq .
```
Point your webbrowser to `$(docker inspect mesos-cluster | jq -r '.[0].NetworkSettings.Networks.bridge.IPAddress')`:8080.
Wait until arangodb is healthy.
Then click on `arangodb`.
On the following screen click on the first port next to the IP Address of your cluster.
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Front-End (WebUI) Front-End (WebUI)
========= =========