Configuration
Directory Layout
Elassandra packages Cassandra and the embedded OpenSearch runtime in one installation. The top-level layout is:
conf: node configuration and loggingbin: startup scripts, administrative commands, and plugin toolslib: packaged JVM dependenciesmodules: packaged OpenSearch modulesplugins: installed OpenSearch pluginstools: Cassandra tooling such ascassandra-stressandsstabledumpdata: keyspaces, commitlogs, hints, caches, and search data fileslogs: node logs
Configuration files
The primary operational configuration remains Cassandra-centric:
cluster name, addresses, snitch, tokens, and replication are defined through Cassandra settings
Elassandra derives the embedded OpenSearch node identity and network bindings from those settings
index metadata is stored in Cassandra system keyspaces managed by Elassandra
In practice, operators should treat cassandra.yaml and the rack or dc configuration
as the source of truth for node identity and topology.
Logging configuration
Elassandra logs Cassandra and embedded OpenSearch activity through Logback.
The main operational log is logs/system.log.
For deeper indexing diagnostics, raise the log level for the Elassandra indexing classes,
for example under org.elassandra.index.
Multi datacenter configuration
Each Elassandra datacenter participates in Cassandra replication first. Search visibility then follows the replicated keyspaces and the Elassandra metadata stored in Cassandra.
Important operational rules:
the indexed keyspace must be replicated into the datacenter before search can open there
metadata updates require quorum on the Elassandra metadata keyspace
nodes in the same datacenter should run the same runtime mode and plugin set
When only a subset of datacenters should expose particular indices, use Elassandra’s datacenter tagging settings so search metadata is only activated where intended.
Elassandra Settings
Elassandra settings can be supplied at several levels:
JVM system properties, often with the
es.prefixcluster defaults
index settings
mapping metadata
Common settings used in current deployments include:
Setting |
Scope |
Purpose |
|---|---|---|
|
index |
Select the backing Cassandra keyspace for an index. |
|
index |
Define the Cassandra replication map for new keyspaces. |
|
index |
Restrict visibility of an index to tagged datacenters. |
|
index |
Apply Cassandra table options during schema creation. |
|
index or cluster |
Control how search work is distributed across replicas. |
|
index, mapping, or system |
Refresh search data immediately after writes when needed. |
|
index, cluster, or system |
Drop backing tables when deleting an index. |
|
index, mapping, or system |
Skip read-before-write for immutable-style documents. |
|
index or cluster |
Cache token-range filters for repeated searches. |
Sizing and tuning
Elassandra nodes need more CPU and memory than Cassandra-only nodes because they handle both storage and search work.
Write performance
To improve write throughput:
index only the fields you need
use singleton-backed fields instead of lists when data is truly single-valued
keep refresh settings conservative for heavy write workloads
avoid large hot partitions and very wide rows
Search performance
To improve search throughput:
keep shard data balanced by maintaining a healthy Cassandra ring
choose an appropriate Cassandra replication factor for your search fan-out profile
enable token-range filter caching where repeated search patterns justify it
use Cassandra row caching carefully when queries repeatedly fetch the same rows
For cluster-level operational guidance, also see Operations and Breaking changes and limitations.