Docker containers with prepared environment to run GeoTrellis, GeoMesa, and GeoWave.
Current version (latest): 0.2.1
Images:
- accumulo 1.7.1 [dockerhub]
- hadoop 2.7.1 [dockerhub]
- spark 1.6.1 [dockerhub]
- zookeeper 3.4.6 [dockerhub]
- cassandra
- In run scripts used official cassandra image
- runners
- Contains runner scripts to simplify cluster startup
A more detailed description how to run and to build containers can be found in each image directory.
-
Build all images
docker-compose build
-
Publish all images
./.docker/release -t=latest --publish
Example of starting a multinode cluster on three machines. Node1 (hostname GeoServer1) is a master node, Node2 (hostname GeoServer2) and Node3 (hostname GeoServer3) slave nodes. Zookeeper strats minimum on three nodes.
## Zookeepers
# Node1
./1-zookeeper.sh -t=latest -zi=1 -zs1=GeoServer1 -zs2=GeoServer2 -zs3=GeoServer3
# Node2
./1-zookeeper.sh -t=latest -zi=2 -zs1=GeoServer1 -zs2=GeoServer2 -zs3=GeoServer3
# Node3
./1-zookeeper.sh -t=latest -zi=3 -zs1=GeoServer1 -zs2=GeoServer2 -zs3=GeoServer3
## Hadoop
# Node1
./1-hadoop-name.sh -t=latest -hma=GeoServer1
./2-hadoop-sname.sh -t=latest -hma=GeoServer1
./3-hadoop-data.sh -t=latest -hma=GeoServer1
# Node2, Node3
./3-hadoop-data.sh -t=latest -hma=GeoServer1
## Accumulo
# Node1
./1-accumulo-init.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
./2-accumulo-master.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
./3-accumulo-tracer.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
./4-accumulo-gc.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
./5-accumulo-monitor.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
# Node2, Node3
./6-accumulo-tserver.sh -t=latest -hma=GeoServer1 -az="GeoServer1,GeoServer2,GeoServer3" -as=secret -ap=GisPwd -in=gis
## Spark
# Node1
./1-spark-master.sh -t=latest -hma=GeoServer1
# Node2, Node3
./2-spark-worker.sh -t=latest -hma=GeoServer1 -sm=GeoServer1
## Cassandra
# Node1
./1-cassandra-master.sh -t=latest -cla=GeoServer1
# Node2
./2-cassandra-slave.sh -t=latest -cla=GeoServer2 -cs=GeoServer1
# Node3
./2-cassandra-slave.sh -t=latest -cla=GeoServer3 -cs=GeoServer1
We can simulate a multinode cluster on a single machine using Docker Compose. docker-compose-dev.yml is an example of instrutions to rise a singlenode cluster, adding additional services description for slave nodes allwos to rise any nodes amount (limited by host machine memory).
docker-compose -f docker-compose-dev.yml up
- Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0