Installation ============ The canonical project site is `Elassandra.org `_. The maintained repository line documented here targets **Apache Cassandra 4.0.x** with an embedded **OpenSearch 1.3.x** runtime. Use **Java 11** for both the Gradle build and the packaged server runtime. Elassandra can be installed as: - tarball_ - `deb`_ - `rpm`_ - Docker image (see :doc:`docker`) - Helm chart (see :doc:`helm`) .. important:: Elassandra runs both Cassandra storage and OpenSearch indexing in the same JVM. Size hosts accordingly. For local development, allocate at least 4 GB of RAM. For production, follow the sizing guidance in :doc:`configuration`. Tarball ------- Check your Java runtime first:: java -version The current line should report Java 11 or newer. Download the release tarball: .. parsed-literal:: wget |tgz_url| Extract it and enter the installation directory: .. parsed-literal:: tar -xzf elassandra-|release|.tar.gz cd elassandra-|release| Start Elassandra in the foreground:: bin/cassandra -f Verify that both Cassandra and OpenSearch are up:: bin/nodetool status bin/cqlsh -e "DESCRIBE KEYSPACES" curl -s http://localhost:9200/ The HTTP response should advertise the current Elassandra release and the embedded OpenSearch version. For example: .. parsed-literal:: { "name" : "127.0.0.1", "cluster_name" : "Test Cluster", "cluster_uuid" : "...", "version" : { "number" : "|version|" }, "tagline" : "The OpenSearch Project: https://opensearch.org/" } For production installs, disable swap and use a supported allocator such as `jemalloc `_ where appropriate for your platform. Deb --- .. include:: adhoc_deb.rst Rpm --- .. include:: adhoc_rpm.rst Docker image ------------ See :doc:`docker` for container image build, environment variables, and the local compose-based cluster example. Helm chart ---------- See :doc:`helm` for the maintained Kubernetes chart, provider presets, and example installation commands. Running Cassandra only ---------------------- If a datacenter should run Cassandra storage without the embedded search runtime, set ``CASSANDRA_DAEMON`` to ``org.apache.cassandra.service.CassandraDaemon`` in the service environment for those nodes. All nodes in a datacenter should use the same runtime mode.