|
| 1 | +Installing GeoMesa ScyllaDB |
| 2 | +=========================== |
| 3 | + |
| 4 | +.. note:: |
| 5 | + |
| 6 | + GeoMesa currently supports ScyllaDB {{scylladb_supported_versions}}. |
| 7 | + |
| 8 | +Connecting to ScyllaDB |
| 9 | +----------------------- |
| 10 | + |
| 11 | +The first step to getting started with ScyllaDB and GeoMesa is to install |
| 12 | +ScyllaDB itself. You can find good directions for downloading and installing |
| 13 | +ScyllaDB online. For example, see Scylla's official `getting started`_ documentation. |
| 14 | + |
| 15 | +.. _getting started: https://opensource.docs.scylladb.com/stable/getting-started/index.html |
| 16 | + |
| 17 | +Quick Start with Docker |
| 18 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 19 | + |
| 20 | +The easiest way to get started with ScyllaDB is using Docker: |
| 21 | + |
| 22 | +.. code-block:: bash |
| 23 | +
|
| 24 | + $ docker run --name scylla -d -p 9042:9042 scylladb/scylla:latest |
| 25 | +
|
| 26 | +This starts a ScyllaDB container listening on the default CQL port (9042). |
| 27 | + |
| 28 | +Once ScyllaDB is running, create a keyspace for GeoMesa. Connect using ``cqlsh``: |
| 29 | + |
| 30 | +.. code-block:: bash |
| 31 | +
|
| 32 | + $ docker exec -it scylla cqlsh |
| 33 | +
|
| 34 | +Then create a keyspace: |
| 35 | + |
| 36 | +.. code-block:: bash |
| 37 | +
|
| 38 | + CREATE KEYSPACE IF NOT EXISTS geomesa_scylla WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; |
| 39 | +
|
| 40 | +.. note:: |
| 41 | + |
| 42 | + For production deployments, use a higher replication factor and consider |
| 43 | + using ``NetworkTopologyStrategy`` instead of ``SimpleStrategy``. |
| 44 | + |
| 45 | +Setting Up for GeoMesa |
| 46 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 47 | + |
| 48 | +After creating the keyspace, note your ScyllaDB contact point. For a local Docker installation, |
| 49 | +this will be ``127.0.0.1:9042``. You can verify the port in the ScyllaDB configuration. |
| 50 | + |
| 51 | +Since ScyllaDB is wire-compatible with Cassandra, GeoMesa uses the same libraries and |
| 52 | +configuration. Set the ``CASSANDRA_HOME`` environment variable to point to a Cassandra |
| 53 | +installation, or let GeoMesa download the necessary JARs automatically (see below). |
| 54 | + |
| 55 | +Installing GeoMesa Tools and Plugins |
| 56 | +------------------------------------ |
| 57 | + |
| 58 | +ScyllaDB uses the **same GeoMesa Cassandra distribution** for all components including: |
| 59 | + |
| 60 | +* Binary distribution and command line tools |
| 61 | +* Building from source |
| 62 | +* GeoServer plugins |
| 63 | + |
| 64 | +Please refer to the :ref:`Cassandra installation documentation <cassandra_install_source>` for complete |
| 65 | +instructions on: |
| 66 | + |
| 67 | +* :ref:`Installing from the binary distribution <cassandra_install_source>` |
| 68 | +* :ref:`Building from source <cassandra_install_source>` |
| 69 | +* :ref:`Setting up command line tools <setting_up_cassandra_commandline>` |
| 70 | +* :ref:`Installing the GeoServer plugin <install_cassandra_geoserver>` |
| 71 | + |
| 72 | +.. note:: |
| 73 | + |
| 74 | + All ``geomesa-cassandra`` command line tools work identically with ScyllaDB. Simply point them |
| 75 | + at your ScyllaDB cluster using the contact point parameter. |
| 76 | + |
| 77 | +.. note:: |
| 78 | + |
| 79 | + The same Cassandra client JARs work with both Cassandra and ScyllaDB due to wire protocol compatibility. |
| 80 | + When using ``$CASSANDRA_HOME`` or installing dependencies, use the Cassandra client libraries as documented |
| 81 | + in the Cassandra installation guide. |
0 commit comments