Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

Two Node Configuration

JoeWinter edited this page Sep 25, 2014 · 3 revisions

[Table of Contents](https://github.com/dell-oss/Doradus/wiki/Doradus Administration: Table-of-Contents) | [Previous](https://github.com/dell-oss/Doradus/wiki/Minimal Configuration) | [Next](https://github.com/dell-oss/Doradus/wiki/Expanding the Cluster)
Deployment Guidelines: Two Node Configuration


To provide failure resiliency in a production deployment, at least two nodes should be used. Each node requires a Cassandra Server instance and local disk, and Cassandra must be configured with a replication factor of 2 (RF=2). In this configuration, there is no need for mirrored disks since each node contains a complete copy of all data. At least one node must run a Doradus Server instance. This configuration is illustrated below:

Figure 3 – Basic 2 Node Cluster: RF=2

As shown, the single Doradus Server instance receives all REST commands and JMX requests. It is configured to connect to both Cassandra instances by defining the doradus.yaml parameter dbhost as a list of both addresses. Subsequently, Doradus distributes requests to both nodes, providing load balancing. The Cassandra nodes are configured with replication factor 2 (RF=2) so that each holds an identical set of data. Should one Cassandra server instance fail, all services can be supported by the surviving node.

Multiple Doradus instances can be used in the same cluster. A typical configuration is to deploy a Doradus instance on each node but configure it to use all Cassandra instances. In a 2-node configuration, this provides full redundancy and protection against any single process or machine failure. A fully redundant 2-node configuration is show below:

Figure 4 – Fully Redundant 2 Node Cluster: RF=2

When multiple Doradus instances are used in the same cluster, they are peers: any request can be sent to any instance. If a node fails, applications can redirect requests to any available instance. Doradus instances also communicate with each other to distribute background worker tasks and coordinate schema changes.

Clone this wiki locally