Introduction to Jama Remote ElasticSearch

By Emerald posted 24 days ago

  

Starting in the Jama 8.10 release we have added the capability to run the ElasticSearch service remotely on dedicated servers. This is a step towards having a more scalable Jama solution for our enterprise customers.

 

Prior to Jama 8.10, ElasticSearch service could only run on the same server as the core Jama application. For customers with large volumes of data and concurrent search requests, ElasticSearch can consume high amount of memory and potentially exhaust resources on Jama core server and impact its stability and performance. The only way to scale Jama as the volume of data would increase was to add more memory to the same server. 

 

By moving the ElasticSearch index to separate servers you can scale your ElasticSearch service, by adding more servers, as your data increases. This frees up space on your Jama core server ​for better performance and stability of the application.

 

Benefits

You start seeing more benefits when you move to a clustered (multi-node) ElasticSearch. A single ElasticSearch node can still improve stability and offload performance impact of running Jama core and ElasticSearch on the same server. 

 

Stability: Moving ElasticSearch to another server will result in a more stable Jama application. Jama core and ElasticSearch service are the two containers with highest amount of memory consumption. Dedicating a server to ElasticSearch will offload the performance impact of running ElasticSearch on the same server as Jama core.

 

Scalability: As your Jama instance grows so does the demand on the ElasticSearch service. You can easily add additional ElasticSearch nodes to spread the load horizontally. By having multiple nodes, ElasticSearch will distribute and parallelize operations across shards to improve performance and throughput.

 

High Availability:  Running the ElasticSearch service on a single node means that you have a single point of failure. With the introduction of Remote ElasticSearch in 8.10, you can have high availability. If one node goes down, ElasticSearch will still function and Jama application will still run. This can only be achieved with multi-node ElasticSearch cluster. The minimum required number of nodes for high availability is 3. The total number of nodes should always be an odd number. Jama has been tested with up to 5 nodes.

 

Requirements

  • If you want to run Remote ElasticSearch, we need to enable that feature on your license. Contact your Account Manager and they will help you with the process
  • For server requirements please refer to the Remote ElasticSearch installation guide
  • ElasticSearch must be running on a version of Replicated greater than 2.2
  • Jama version must be 8.10 or newer


Architecture overview

 

 

ElasticSearch Terminology 

Cluster

  • a collection of one or more nodes (servers) that together holds all the data and provides indexing and search capabilities across all nodes
  • a node can only be part of a cluster if the node is set up to join the cluster by its name

Node

  • a single server that is part of your cluster, stores your data, and participates in the cluster's indexing and search capabilities
  • identified by a name which by default is a random Universally Unique IDentifier (UUID) that is assigned to the node at startup

Index

  • a collection of documents that have somewhat similar characteristics
  • each index is made up of documents (basic unit of information that can be indexed). There is a 1:1 ratio of items/attachments to ElasticSearch documents
  • Jama indexes items, users, groups, comments, revision_users and revision_items and events. The index folder is the same name as Jama database

Shards 

  • pieces of the index that get distributed across nodes in the cluster
  • types of shards:
    • primary (each document is stored in a single primary shard)

Replica

  • a copy of the primary shard

 

Suggested Reading

 

*Jama does not support having multi-node Elastic Search distributed among different data centers. All nodes should be located in the same data center.  
 



------------------------------
Emerald Ressler
Technical Account Manager
Jama Software
#search
#elasticsearch
#Jama8
0 comments
25 views