From 7a37da959986b75b7e19dc030098bfff89c77256 Mon Sep 17 00:00:00 2001 From: michaelbirnstiehl Date: Mon, 21 Sep 2020 14:59:42 -0500 Subject: [PATCH] SONAR-13877 DCE search nodes topology recommendation for HA --- .../sonar-docs/src/pages/setup/install-cluster.md | 13 +++++++++---- .../sonar-docs/src/pages/setup/operate-cluster.md | 10 +++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/server/sonar-docs/src/pages/setup/install-cluster.md b/server/sonar-docs/src/pages/setup/install-cluster.md index 23c734a33c1..0a70a2a323e 100644 --- a/server/sonar-docs/src/pages/setup/install-cluster.md +++ b/server/sonar-docs/src/pages/setup/install-cluster.md @@ -25,14 +25,19 @@ With this configuration, one application node and one search node can be lost wi ### Network -All servers, including the database server, must be co-located (geographical redundancy is not supported) and have static IP addresses (reference via hostname is not supported). Network traffic should not be restricted between application and search nodes. +All servers, including the database server, must be located within the same region and have static IP addresses (reference via hostname is not supported). Network traffic should not be restricted between application and search nodes. ### Servers -You need a minimum of five servers (two application nodes and three search nodes) to form a SonarQube application cluster. You can add application nodes to increase computing capabilities. Servers can be virtual machines; it is not necessary to use physical machines. +You need a minimum of five servers (two application nodes and three search nodes) to form a SonarQube application cluster. Servers can be virtual machines; it is not necessary to use physical machines. You can also add application nodes to increase computing capabilities. -The operating system requirements for servers are available on the [Requirements](/requirements/requirements/) page. All application nodes should be identical in terms of hardware and software. Similarly, all search nodes should be identical to each other. Application and search nodes, however, can differ from one another. Generally, search nodes are configured with more CPU and RAM than application nodes. +The operating system requirements for servers are available on the [Requirements](/requirements/requirements/) page. +All application nodes should be identical in terms of hardware and software. Similarly, all search nodes should be identical to each other. Application and search nodes, however, can differ from one another. Generally, search nodes are configured with more CPU and RAM than application nodes. + +Search nodes can be located in different availability zones, but they must be in the same region. In this case, each search node should be located in a separate availability zone to maintain availability in the event of a failure in one zone. + +#### **Example Machines** Here are the machines we used to perform our validation with a 200M issues database. You can use this as a minimum recommendation to build your cluster. - App Node made of [Amazon EC2 m4.xlarge](https://aws.amazon.com/ec2/instance-types/): 4 vCPUs, 16GB RAM @@ -44,7 +49,7 @@ Supported database systems are available on the [Requirements](/requirements/req ### Load Balancer -SonarSource does not provide specific recommendations for reverse proxy / load balancer or solution-specific configuration. The general requirements to use with SonarQube Data Center Edition are: +SonarSource does not provide specific recommendations for reverse proxy / load balancer or solution-specific configuration. The general requirements for SonarQube Data Center Edition are: - Ability to balance HTTP requests (load) between the application nodes configured in the SonarQube cluster. - If terminating HTTPS, meets the requirements set out in [Securing SonarQube Behind a Proxy](/setup/operate-server/). diff --git a/server/sonar-docs/src/pages/setup/operate-cluster.md b/server/sonar-docs/src/pages/setup/operate-cluster.md index b4bba3e5231..55a5e1d4639 100644 --- a/server/sonar-docs/src/pages/setup/operate-cluster.md +++ b/server/sonar-docs/src/pages/setup/operate-cluster.md @@ -3,9 +3,9 @@ title: Configure & Operate a Cluster url: /setup/operate-cluster/ --- -_High Availability and cluster scalability are features of the [Data Center Edition](https://redirect.sonarsource.com/editions/datacenter.html)._ +_High availability and cluster scalability are features of the [Data Center Edition](https://redirect.sonarsource.com/editions/datacenter.html)._ -Once the [SonarQube cluster is installed](/setup/install-cluster/), you have a High Availability configuration that allows your SonarQube instance to stay up and running even if there is a crash or failure in one of the cluster's nodes. Your SonarQube cluster is also scalable, and you can add application nodes to increase your computing capabilities. +Once the [SonarQube cluster is installed](/setup/install-cluster/), you have a high availability configuration that allows your SonarQube instance to stay up and running even if there is a crash or failure in one of the cluster's nodes. Your SonarQube cluster is also scalable, and you can add application nodes to increase your computing capabilities. ## Start, Stop, or Upgrade the Cluster @@ -125,8 +125,8 @@ Property | Description | Default | Required ## Limitations * Cluster downtime is required for SonarQube upgrades or plugin installations. -* All application nodes must be stopped when installing, uninstalling or upgrading a plugin. -* Plugins are not shared, it means if you install/uninstall/upgrade a given plugin in one application node, you need to perform the same actions on the other application node. +* All application nodes must be stopped when installing, uninstalling, or upgrading a plugin. +* Plugins are not shared, meaning if you install/uninstall/upgrade a given plugin on one application node, you need to perform the same actions on the other application node. * There is no way to perform actions on the cluster from a central app - all operations must be done manually on each node of the cluster. @@ -134,6 +134,6 @@ Property | Description | Default | Required ### Does Elasticsearch discover automatically other ES nodes? No. Multicast is disabled. All hosts (IP+port) must be listed. ### Can different nodes run on the same machine? -Yes, but the best is to have 5 machines to be really resilient to failures. +Yes, but it's best to have one machine for each node to be resilient to failures. To maintain an even higher level of availability, each of your three search nodes can be located in a separate availability zone *within the same region*. ### Can the members of a cluster be discovered automatically? No, all nodes must be configured in _$SONARQUBE-HOME/conf/sonar.properties_ -- 2.39.5