From 309f79df7fa7d90481edcdefee52e4e0af8559a9 Mon Sep 17 00:00:00 2001 From: alicejw Date: Mon, 18 Apr 2022 14:30:56 -0700 Subject: [PATCH 01/15] for terminology change from 'master' to 'cluster_manager' per issue #450 https://github.com/opensearch-project/documentation-website/issues/450 Signed-off-by: alicejw --- _opensearch/cluster.md | 28 +++++++++---------- _opensearch/install/docker-security.md | 4 +-- .../{cat-master.md => cat-cluster_manager.md} | 14 +++++----- _opensearch/rest-api/cat/cat-nodes.md | 8 +++--- _opensearch/rest-api/cluster-health.md | 4 +-- _opensearch/rest-api/cluster-settings.md | 2 +- _opensearch/rest-api/cluster-stats.md | 6 ++-- _opensearch/stats-api.md | 12 ++++---- 8 files changed, 39 insertions(+), 39 deletions(-) rename _opensearch/rest-api/cat/{cat-master.md => cat-cluster_manager.md} (60%) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 3ee6bd4882..2101803e80 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -16,19 +16,19 @@ There are many ways to design a cluster. The following illustration shows a basi ![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.png) -This is a four-node cluster that has one dedicated master node, one dedicated coordinating node, and two data nodes that are master-eligible and also used for ingesting data. +This is a four-node cluster that has one dedicated cluster_manager node, one dedicated coordinating node, and two data nodes that are cluster_manager-eligible and also used for ingesting data. The following table provides brief descriptions of the node types: Node type | Description | Best practices for production :--- | :--- | :-- | -`Master` | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated master nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. -`Master-eligible` | Elects one node among them as the master node through a voting process. | For production clusters, make sure you have dedicated master nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not master-eligible. +`Cluster_manager` | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated cluster_manager nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. +`Cluster_manager-eligible` | Elects one node among them as the cluster_manager node through a voting process. | For production clusters, make sure you have dedicated cluster_manager nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster_manager-eligible. `Data` | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. `Ingest` | Preprocesses data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. `Coordinating` | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. -By default, each node is a master-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. +By default, each node is a cluster_manager-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. After you assess all these requirements, we recommend you use a benchmark testing tool like Rally to provision a small sample cluster and run tests with varying workloads and configurations. Compare and analyze the system and query metrics for these tests to design an optimum architecture. To get started with Rally, see the [Rally documentation](https://esrally.readthedocs.io/en/stable/). @@ -66,18 +66,18 @@ Make the same change on all the nodes to make sure that they'll join to form a c After you name the cluster, set node attributes for each node in your cluster. -#### Master node +#### Cluster manager node -Give your master node a name. If you don't specify a name, OpenSearch assigns a machine-generated name that makes the node difficult to monitor and troubleshoot. +Give your cluster_manager node a name. If you don't specify a name, OpenSearch assigns a machine-generated name that makes the node difficult to monitor and troubleshoot. ```yml -node.name: opensearch-master +node.name: opensearch-cluster_manager ``` -You can also explicitly specify that this node is a master node. This is already true by default, but adding it makes it easier to identify the master node. +You can also explicitly specify that this node is a cluster_manager node. This is already true by default, but adding it makes it easier to identify the cluster_manager node. ```yml -node.roles: [ master ] +node.roles: [ cluster_manager ] ``` @@ -92,7 +92,7 @@ node.name: opensearch-d1 node.name: opensearch-d2 ``` -You can make them master-eligible data nodes that will also be used for ingesting data: +You can make them cluster_manager-eligible data nodes that will also be used for ingesting data: ```yml node.roles: [ data, ingest ] @@ -139,9 +139,9 @@ Now that you've configured the network hosts, you need to configure the discover Zen Discovery is the built-in, default mechanism that uses [unicast](https://en.wikipedia.org/wiki/Unicast) to find other nodes in the cluster. -You can generally just add all your master-eligible nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other master-eligible nodes, determines which one is the master, and asks to join the cluster. +You can generally just add all your cluster_manager-eligible nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other cluster_manager-eligible nodes, determines which one is the cluster_manager, and asks to join the cluster. -For example, for `opensearch-master` the line looks something like this: +For example, for `opensearch-cluster_manager` the line looks something like this: ```yml discovery.seed_hosts: ["", "", ""] @@ -169,8 +169,8 @@ curl -XGET https://:9200/_cat/nodes?v -u 'admin:admin' --insecure ``` ``` -ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name -x.x.x.x 13 61 0 0.02 0.04 0.05 mi * opensearch-master +ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role cluster_manager name +x.x.x.x 13 61 0 0.02 0.04 0.05 mi * opensearch-cluster_manager x.x.x.x 16 60 0 0.06 0.05 0.05 md - opensearch-d1 x.x.x.x 34 38 0 0.12 0.07 0.06 md - opensearch-d2 x.x.x.x 23 38 0 0.12 0.07 0.06 md - opensearch-c1 diff --git a/_opensearch/install/docker-security.md b/_opensearch/install/docker-security.md index 056fd20659..15fd189dd4 100644 --- a/_opensearch/install/docker-security.md +++ b/_opensearch/install/docker-security.md @@ -24,7 +24,7 @@ services: - cluster.name=opensearch-cluster - node.name=opensearch-node1 - discovery.seed_hosts=opensearch-node1,opensearch-node2 - - cluster.initial_master_nodes=opensearch-node1,opensearch-node2 + - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM - network.host=0.0.0.0 # required if not using the demo security configuration @@ -60,7 +60,7 @@ services: - cluster.name=opensearch-cluster - node.name=opensearch-node2 - discovery.seed_hosts=opensearch-node1,opensearch-node2 - - cluster.initial_master_nodes=opensearch-node1,opensearch-node2 + - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 - bootstrap.memory_lock=true - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" - network.host=0.0.0.0 diff --git a/_opensearch/rest-api/cat/cat-master.md b/_opensearch/rest-api/cat/cat-cluster_manager.md similarity index 60% rename from _opensearch/rest-api/cat/cat-master.md rename to _opensearch/rest-api/cat/cat-cluster_manager.md index 73ca13d178..9f81c83b39 100644 --- a/_opensearch/rest-api/cat/cat-master.md +++ b/_opensearch/rest-api/cat/cat-cluster_manager.md @@ -1,39 +1,39 @@ --- layout: default -title: cat master +title: CAT cluster manager parent: CAT grand_parent: REST API reference nav_order: 30 has_children: false --- -# cat master +# CAT cluster_manager Introduced 1.0 {: .label .label-purple } -The cat master operation lists information that helps identify the elected master node. +The cat cluster manager operation lists information that helps identify the elected cluster_manager node. ## Example ``` -GET _cat/master?v +GET _cat/cluster_manager?v ``` ## Path and HTTP methods ``` -GET _cat/master +GET _cat/cluster_manager ``` ## URL parameters -All cat master URL parameters are optional. +All cat cluster manager URL parameters are optional. In addition to the [common URL parameters]({{site.url}}{{site.baseurl}}/opensearch/rest-api/cat/index#common-url-parameters), you can specify the following parameters: Parameter | Type | Description :--- | :--- | :--- -master_timeout | Time | The amount of time to wait for a connection to the master node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. ## Response diff --git a/_opensearch/rest-api/cat/cat-nodes.md b/_opensearch/rest-api/cat/cat-nodes.md index d2587bc6e6..8d3c7c0a8f 100644 --- a/_opensearch/rest-api/cat/cat-nodes.md +++ b/_opensearch/rest-api/cat/cat-nodes.md @@ -13,7 +13,7 @@ Introduced 1.0 The cat nodes operation lists node-level information, including node roles and load metrics. -A few important node metrics are `pid`, `name`, `master`, `ip`, `port`, `version`, `build`, `jdk`, along with `disk`, `heap`, `ram`, and `file_desc`. +A few important node metrics are `pid`, `name`, `cluster_manager`, `ip`, `port`, `version`, `build`, `jdk`, along with `disk`, `heap`, `ram`, and `file_desc`. ## Example @@ -37,8 +37,8 @@ Parameter | Type | Description :--- | :--- | :--- bytes | Byte size | Specify the units for byte size. For example, `7kb` or `6gb`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). full_id | Boolean | If true, return the full node ID. If false, return the shortened node ID. Defaults to false. -local | Boolean | Whether to return information from the local node only instead of from the master node. Default is false. -master_timeout | Time | The amount of time to wait for a connection to the master node. Default is 30 seconds. +local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. time | Time | Specify the units for time. For example, `5d` or `7h`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). include_unloaded_segments | Boolean | Whether to include information from segments not loaded into memory. Default is false. @@ -46,7 +46,7 @@ include_unloaded_segments | Boolean | Whether to include information from segmen ## Response ```json -ip | heap.percent | ram.percent | cpu load_1m | load_5m | load_15m | node.role | master | name +ip | heap.percent | ram.percent | cpu load_1m | load_5m | load_15m | node.role | cluster_manager | name 172.18.0.3 | 31 | 97 | 3 | 0.03 | 0.10 | 0.14 dimr | * | odfe-node2 172.18.0.4 | 45 | 97 | 3 | 0.19 | 0.14 | 0.15 dimr | - | odfe-node1 ``` diff --git a/_opensearch/rest-api/cluster-health.md b/_opensearch/rest-api/cluster-health.md index 64c7a909da..f20da3ec37 100644 --- a/_opensearch/rest-api/cluster-health.md +++ b/_opensearch/rest-api/cluster-health.md @@ -38,8 +38,8 @@ Parameter | Type | Description :--- | :--- | :--- expand_wildcards | Enum | Expands wildcard expressions to concrete indices. Combine multiple values with commas. Supported values are `all`, `open`, `closed`, `hidden`, and `none`. Default is `open`. level | Enum | The level of detail for returned health information. Supported values are `cluster`, `indices`, and `shards`. Default is `cluster`. -local | Boolean | Whether to return information from the local node only instead of from the master node. Default is false. -master_timeout | Time | The amount of time to wait for a connection to the master node. Default is 30 seconds. +local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. timeout | Time | The amount of time to wait for a response. If the timeout expires, the request fails. Default is 30 seconds. wait_for_active_shards | String | Wait until the specified number of shards is active before returning a response. `all` for all shards. Default is `0`. wait_for_events | Enum | Wait until all currently queued events with the given priority are processed. Supported values are `immediate`, `urgent`, `high`, `normal`, `low`, and `languid`. diff --git a/_opensearch/rest-api/cluster-settings.md b/_opensearch/rest-api/cluster-settings.md index 7c8b98703e..6a76f182f1 100644 --- a/_opensearch/rest-api/cluster-settings.md +++ b/_opensearch/rest-api/cluster-settings.md @@ -44,7 +44,7 @@ Parameter | Type | Description :--- | :--- | :--- flat_settings | Boolean | Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings. For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. include_defaults (GET only) | Boolean | Whether to include default settings as part of the response. This parameter is useful for identifying the names and current values of settings you want to update. -master_timeout | Time | The amount of time to wait for a response from the master node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a response from the cluster_manager node. Default is 30 seconds. timeout (PUT only) | Time | The amount of time to wait for a response from the cluster. Default is 30 seconds. diff --git a/_opensearch/rest-api/cluster-stats.md b/_opensearch/rest-api/cluster-stats.md index 1eef74d05c..80815d9a52 100644 --- a/_opensearch/rest-api/cluster-stats.md +++ b/_opensearch/rest-api/cluster-stats.md @@ -14,7 +14,7 @@ The cluster stats API operation returns statistics about your cluster. ## Examples ```json -GET _cluster/stats/nodes/_master +GET _cluster/stats/nodes/_cluster_manager ``` ## Path and HTTP methods @@ -31,7 +31,7 @@ All cluster stats parameters are optional. Parameter | Type | Description :--- | :--- | :--- -<node-filters> | List | A comma-separated list of node-filters that OpenSearch uses to filter results. Available options are `all`, `_local`, `_master`, a node name or ID, `master:true`, `master:false`, `data:true`, `data:false`, `ingest:true`, `ingest:false`, `voting_only:true`, `voting_only:false`, `ml:true`, `ml:false`, `coordinating_only:true`, `coordinating_only:false`, and <custom node attributes> : <attribute values> pairs. +<node-filters> | List | A comma-separated list of node-filters that OpenSearch uses to filter results. Available options are `all`, `_local`, `_cluster_manager`, a node name or ID, `cluster_manager:true`, `cluster_manager:false`, `data:true`, `data:false`, `ingest:true`, `ingest:false`, `voting_only:true`, `voting_only:false`, `ml:true`, `ml:false`, `coordinating_only:true`, `coordinating_only:false`, and <custom node attributes> : <attribute values> pairs. ## Response @@ -217,7 +217,7 @@ Parameter | Type | Description "coordinating_only": 0, "data": 1, "ingest": 1, - "master": 1, + "cluster_manager": 1, "remote_cluster_client": 1 }, "versions": [ diff --git a/_opensearch/stats-api.md b/_opensearch/stats-api.md index ac0573570c..050d0bb662 100644 --- a/_opensearch/stats-api.md +++ b/_opensearch/stats-api.md @@ -44,7 +44,7 @@ If `enforced` is `true`: "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { @@ -151,7 +151,7 @@ If `enforced` is `false`: "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { @@ -264,7 +264,7 @@ GET _nodes/_local/stats/shard_indexing_pressure?include_all "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { @@ -379,7 +379,7 @@ If `enforced` is `true`: "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { @@ -422,7 +422,7 @@ If `enforced` is `false`: "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { @@ -471,7 +471,7 @@ GET _nodes/stats/shard_indexing_pressure "roles": [ "data", "ingest", - "master", + "cluster_manager", "remote_cluster_client" ], "attributes": { From af4afc2c1cc09675b9fbdf396beb394ba1554ee5 Mon Sep 17 00:00:00 2001 From: alicejw Date: Mon, 18 Apr 2022 14:32:49 -0700 Subject: [PATCH 02/15] for more changes to replace terms for #450 Signed-off-by: alicejw --- _opensearch/rest-api/cat/cat-pending-tasks.md | 4 ++-- _opensearch/rest-api/cat/index.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/_opensearch/rest-api/cat/cat-pending-tasks.md b/_opensearch/rest-api/cat/cat-pending-tasks.md index 37cf82ac6a..8f50bfb36f 100644 --- a/_opensearch/rest-api/cat/cat-pending-tasks.md +++ b/_opensearch/rest-api/cat/cat-pending-tasks.md @@ -33,8 +33,8 @@ In addition to the [common URL parameters]({{site.url}}{{site.baseurl}}/opensear Parameter | Type | Description :--- | :--- | :--- -local | Boolean | Whether to return information from the local node only instead of from the master node. Default is false. -master_timeout | Time | The amount of time to wait for a connection to the master node. Default is 30 seconds. +local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. time | Time | Specify the units for time. For example, `5d` or `7h`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). diff --git a/_opensearch/rest-api/cat/index.md b/_opensearch/rest-api/cat/index.md index c53766361b..f38306e542 100644 --- a/_opensearch/rest-api/cat/index.md +++ b/_opensearch/rest-api/cat/index.md @@ -1,6 +1,6 @@ --- layout: default -title: CAT +title: Compact and aligned text (CAT) API parent: REST API reference nav_order: 100 has_children: true @@ -8,15 +8,15 @@ redirect_from: - /opensearch/catapis/ --- -# cat API +# CAT API -You can get essential statistics about your cluster in an easy-to-understand, tabular format using the compact and aligned text (CAT) API. The cat API is a human-readable interface that returns plain text instead of traditional JSON. +You can get essential statistics about your cluster in an easy-to-understand, tabular format using the compact and aligned text (CAT) API. The CAT API is a human-readable interface that returns plain text instead of traditional JSON. -Using the cat API, you can answer questions like which node is the elected master, what state is the cluster in, how many documents are in each index, and so on. +Using the CAT API, you can answer questions like which node is the elected master, what state is the cluster in, how many documents are in each index, and so on. ## Example -To see the available operations in the cat API, use the following command: +To see the available operations in the CAT API, use the following command: ``` GET _cat From 616dcacc13484531eda64a69b7c5dbb703bc6fbe Mon Sep 17 00:00:00 2001 From: alicejw Date: Mon, 18 Apr 2022 15:40:32 -0700 Subject: [PATCH 03/15] for image update to match new terminology text Signed-off-by: alicejw --- _opensearch/cluster.md | 2 +- images/cluster.png | Bin 24024 -> 0 bytes images/cluster.v2.png | Bin 0 -> 24652 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 images/cluster.png create mode 100644 images/cluster.v2.png diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 2101803e80..379f0a12e2 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -14,7 +14,7 @@ To create and deploy an OpenSearch cluster according to your requirements, it’ There are many ways to design a cluster. The following illustration shows a basic architecture: -![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.png) +![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) This is a four-node cluster that has one dedicated cluster_manager node, one dedicated coordinating node, and two data nodes that are cluster_manager-eligible and also used for ingesting data. diff --git a/images/cluster.png b/images/cluster.png deleted file mode 100644 index f5262a06efff15c79a47336a9b8a2a26790931d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24024 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�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 Date: Mon, 18 Apr 2022 16:08:05 -0700 Subject: [PATCH 04/15] for edits to make consistent in table Signed-off-by: alicejw --- _opensearch/cluster.md | 20 ++++++++++---------- images/cluster.v2.png | Bin 24652 -> 26835 bytes 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 379f0a12e2..259c53f998 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -16,19 +16,19 @@ There are many ways to design a cluster. The following illustration shows a basi ![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) -This is a four-node cluster that has one dedicated cluster_manager node, one dedicated coordinating node, and two data nodes that are cluster_manager-eligible and also used for ingesting data. +This is a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager-eligible and also used for ingesting data. The following table provides brief descriptions of the node types: Node type | Description | Best practices for production :--- | :--- | :-- | -`Cluster_manager` | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated cluster_manager nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. -`Cluster_manager-eligible` | Elects one node among them as the cluster_manager node through a voting process. | For production clusters, make sure you have dedicated cluster_manager nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster_manager-eligible. -`Data` | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. -`Ingest` | Preprocesses data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. -`Coordinating` | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. +`cluster_manager` | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated `cluster_manager` nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. +`cluster_manager-eligible` | Elects one node among them as the `cluster_manager` node through a voting process. | For production clusters, make sure you have dedicated `cluster_manager` nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not `cluster_manager-eligible`. +`data` | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. +`ingest` | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. +`coordinating` | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. -By default, each node is a cluster_manager-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. +By default, each node is a management-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. After you assess all these requirements, we recommend you use a benchmark testing tool like Rally to provision a small sample cluster and run tests with varying workloads and configurations. Compare and analyze the system and query metrics for these tests to design an optimum architecture. To get started with Rally, see the [Rally documentation](https://esrally.readthedocs.io/en/stable/). @@ -74,7 +74,7 @@ Give your cluster_manager node a name. If you don't specify a name, OpenSearch a node.name: opensearch-cluster_manager ``` -You can also explicitly specify that this node is a cluster_manager node. This is already true by default, but adding it makes it easier to identify the cluster_manager node. +You can also explicitly specify that this node is a `cluster_manager` node. This is already true by default, but adding it makes it easier to identify the `cluster_manager` node. ```yml node.roles: [ cluster_manager ] @@ -92,7 +92,7 @@ node.name: opensearch-d1 node.name: opensearch-d2 ``` -You can make them cluster_manager-eligible data nodes that will also be used for ingesting data: +You can make them `cluster_manager-eligible` data nodes that will also be used for ingesting data: ```yml node.roles: [ data, ingest ] @@ -139,7 +139,7 @@ Now that you've configured the network hosts, you need to configure the discover Zen Discovery is the built-in, default mechanism that uses [unicast](https://en.wikipedia.org/wiki/Unicast) to find other nodes in the cluster. -You can generally just add all your cluster_manager-eligible nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other cluster_manager-eligible nodes, determines which one is the cluster_manager, and asks to join the cluster. +You can generally just add all your `cluster_manager-eligible` nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other `cluster_manager-eligible` nodes, determines which one is the `cluster_manager`, and asks to join the cluster. For example, for `opensearch-cluster_manager` the line looks something like this: diff --git a/images/cluster.v2.png b/images/cluster.v2.png index 0337eec3a3434d201b964fb97482d7e1763ac4a2..419ee31ad2bee382d7ee27bbcd66905ac731fb3b 100644 GIT binary patch literal 26835 zcmYhjWmp_t(>00=F!{K1lKV> zqdqIzyyCxYeY}!XBtU3gQ2WCGP#8f24TF)1%!i^*(3USEOIX;wpZ42ET+L<4KjjqO z=8VBgPx*R&d0e$!J08404BIl@E5l{a&V9<`=#Q;Hr!>Zs1dwW_h{`2VA*us?+L&2LFO`E5? z3vpcvKy7n#MjHD&mEGOlXg?bteZp8qVD#SM{pemO%R`?0vVC?A1AmYOjznP7G6OQtFdg@@I44@2k@IhuV6Y@CDCE~U`(4eVV>hy1;ikmJ` zCEzMXEz^hugG7NqBGj*)X=#W=ups2--ZWMNnZv`w=!NdtVtH3rZVOAxDckA}8Ae7% zx2s?L$$NZZM^l?lYWDW51A~K8!%5VPY-}o{3VNRK%p`_iPfkuo8iDCqdxP)-L5jG$ z-K~Ha^a^9An0&Ul9lPbGIJVXUs@A)$nA9SSU6m|8k$_MsTf@c|*_1l4tQT*SN| zQtGzy#PZ-z3(!o`($eM(kVfVQVVB}Ne~ypq-tJOBUks1}5ElDU^_`+(Xe>+xdz;6J z2F`P;uCe^76k1u38jD^HL|+RM4atF6uK66XTF{0bfhiG$k-VmX(Wms+kp3JMCeiEjfT zD;psQGTm@CkV}(BIGIy8t}r)noHak-8D^Boc;48zvK29ga^)9su!J9(TbKd1J02b$ z<5r{3&4(faInsx~Uzxno-TB$z-mCp_T^|_NozPue3%~o_bQDEOGZcq=SrCvJV9sly z=l-3CF9R6FV^W832#0)56B*nql86psNi4oy4}6D(sppJ>ii+p_un~$mQy9kuiA_Y@ zvA8~%9QlM$cd_PsHW`jiqQwhF`|5WYMMVTg2Y&#=ffZ}Kf?0a%G}Y8{r+Nf$FNP?X zO@U;PrLi~LXcnvDLK`an``Mm8%W&y*RXxurTcJEz{Eo#5q7QQVF%xup?GUM4BtRkd z&R!p;m{uW%&bOT%^QC&L1ef%XFsNmU`l)L8zv15p2XUONv}mS^Sd8FmQ?SH?gPx`9 zwJ7N-8XB}(sFIM*pvz$RCJcFg=i9 z7j6&&B4N=$OSp@;jpAkb>b@(6b(TEz(@<0rw7Bgq%;7I zywHX2EjWoic}NOGj)Sw$1<(u7fcw;7{sY^hGQ<{?{Dws`@k|G5YsG>AsSq;^hD}J%X-xP^Y4_9P(tKyJ9C-y7*ri6V=LWGi*o zOo~K}Z5VMX)GO$i@+9!(ibC-DdODRB^(092-TjE}OqtR_m>xSwLpca}31wB>+9Vh* z7(TCUE1Ef_vm5qQ_y9Q{5d2ajk?pZ$Gr}6_@w`p(s-|ax71n00!wD*}t!j};QkW62 znWB*B3Y|8G7OP~J zRR!CLyxeUwQLv|ky5FlW@ckoeq#-O z69#tLv>bwKf;GLBcTVPP==3f`iR_INB#AqbUGFCtj0%FEvOI}0z9)Y^TTMp@#qAJ)#JP6(}tA>VBM5+(+h%ri9;aj73Lts+txGt*w^7AwI zto=re2NfSip?Y6#;977eykY~U&Oo}cPpR%ZkQ7MPejE5yecz1AW# z_npd{O#r1SG5C@V7)A*lHF|5Ni+=Qo!l%Bocgwfr?cj_V!D

&>W9BByJ213Wii)1@C6l5N{u@MQVx3Wx- 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 Date: Tue, 19 Apr 2022 10:36:56 -0700 Subject: [PATCH 05/15] fix formatting in table Signed-off-by: alicejw --- _opensearch/cluster.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 259c53f998..c3f470e3b6 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -22,11 +22,11 @@ The following table provides brief descriptions of the node types: Node type | Description | Best practices for production :--- | :--- | :-- | -`cluster_manager` | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated `cluster_manager` nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. -`cluster_manager-eligible` | Elects one node among them as the `cluster_manager` node through a voting process. | For production clusters, make sure you have dedicated `cluster_manager` nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not `cluster_manager-eligible`. -`data` | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. -`ingest` | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. -`coordinating` | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. +Cluster manager | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indexes, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated `cluster_manager` nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. +Cluster manager-eligible | Elects one node among them as the `cluster_manager` node through a voting process. | For production clusters, make sure you have dedicated `cluster_manager` nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster manager-eligible. +Data | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. +Ingest | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. +Coordinating | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. By default, each node is a management-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. From e16dc53ccb6929cc766da7d65381b2ca7a8fdd4a Mon Sep 17 00:00:00 2001 From: alicejw Date: Tue, 19 Apr 2022 11:03:52 -0700 Subject: [PATCH 06/15] to add announcement of nomenclature change, per requirements in issue#450 Signed-off-by: alicejw --- _opensearch/cluster.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index c3f470e3b6..eea50c7a2c 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -12,11 +12,12 @@ OpenSearch can operate as a single-node or multi-node cluster. The steps to conf To create and deploy an OpenSearch cluster according to your requirements, it’s important to understand how node discovery and cluster formation work and what settings govern them. -There are many ways to design a cluster. The following illustration shows a basic architecture: +There are many ways to design a cluster. The following illustration shows a basic architecture that includes a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager-eligible and also used for ingesting data. -![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) + **Note:** The nomenclature recently changed for the master node, it is now called the cluster manager node. + {: .tip } -This is a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager-eligible and also used for ingesting data. +![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) The following table provides brief descriptions of the node types: From 0664f4d9770a662d50ec91bb1292f0da7af2c808 Mon Sep 17 00:00:00 2001 From: alicejw Date: Tue, 19 Apr 2022 12:29:37 -0700 Subject: [PATCH 07/15] more clarity in example for setting cluster manager node Signed-off-by: alicejw --- _opensearch/cluster.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index eea50c7a2c..6605e16397 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -69,13 +69,13 @@ After you name the cluster, set node attributes for each node in your cluster. #### Cluster manager node -Give your cluster_manager node a name. If you don't specify a name, OpenSearch assigns a machine-generated name that makes the node difficult to monitor and troubleshoot. +Give your cluster manager node a name. If you don't specify a name, OpenSearch assigns a machine-generated name that makes the node difficult to monitor and troubleshoot. ```yml node.name: opensearch-cluster_manager ``` -You can also explicitly specify that this node is a `cluster_manager` node. This is already true by default, but adding it makes it easier to identify the `cluster_manager` node. +You can also explicitly specify that this node is a cluster manager node, even though it is already set to true by default. Set the node role to `cluster_manager` to make it easier to identify the cluster manager node. ```yml node.roles: [ cluster_manager ] From 45946f850a5affff3b9c779ba00638f9abe5da8a Mon Sep 17 00:00:00 2001 From: alicejw Date: Wed, 20 Apr 2022 10:00:43 -0700 Subject: [PATCH 08/15] add table heading Signed-off-by: alicejw --- _opensearch/cluster.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 6605e16397..8b699e363a 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -19,6 +19,8 @@ There are many ways to design a cluster. The following illustration shows a basi ![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) +### Nodes + The following table provides brief descriptions of the node types: Node type | Description | Best practices for production @@ -29,7 +31,7 @@ Data | Stores and searches data. Performs all data-related operations (indexing, Ingest | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. Coordinating | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. -By default, each node is a management-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. +By default, each node is a cluster manager-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. After you assess all these requirements, we recommend you use a benchmark testing tool like Rally to provision a small sample cluster and run tests with varying workloads and configurations. Compare and analyze the system and query metrics for these tests to design an optimum architecture. To get started with Rally, see the [Rally documentation](https://esrally.readthedocs.io/en/stable/). From ade31baf44fdd255c1acc25f3d8b7deacdde06c5 Mon Sep 17 00:00:00 2001 From: alicejw Date: Wed, 20 Apr 2022 10:08:09 -0700 Subject: [PATCH 09/15] to add original png file Signed-off-by: alicejw --- images/cluster.png | Bin 0 -> 24024 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/cluster.png diff --git a/images/cluster.png b/images/cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..f5262a06efff15c79a47336a9b8a2a26790931d9 GIT binary patch literal 24024 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�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 R{N~=1t{|f#T`OrC`d Date: Wed, 20 Apr 2022 10:11:21 -0700 Subject: [PATCH 10/15] to replace updated png with original file name Signed-off-by: alicejw --- images/cluster.png | Bin 24024 -> 26835 bytes images/cluster.v2.png | Bin 26835 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/cluster.v2.png diff --git a/images/cluster.png b/images/cluster.png index f5262a06efff15c79a47336a9b8a2a26790931d9..419ee31ad2bee382d7ee27bbcd66905ac731fb3b 100644 GIT binary patch literal 26835 zcmYhjWmp_t(>00=F!{K1lKV> zqdqIzyyCxYeY}!XBtU3gQ2WCGP#8f24TF)1%!i^*(3USEOIX;wpZ42ET+L<4KjjqO z=8VBgPx*R&d0e$!J08404BIl@E5l{a&V9<`=#Q;Hr!>Zs1dwW_h{`2VA*us?+L&2LFO`E5? z3vpcvKy7n#MjHD&mEGOlXg?bteZp8qVD#SM{pemO%R`?0vVC?A1AmYOjznP7G6OQtFdg@@I44@2k@IhuV6Y@CDCE~U`(4eVV>hy1;ikmJ` zCEzMXEz^hugG7NqBGj*)X=#W=ups2--ZWMNnZv`w=!NdtVtH3rZVOAxDckA}8Ae7% zx2s?L$$NZZM^l?lYWDW51A~K8!%5VPY-}o{3VNRK%p`_iPfkuo8iDCqdxP)-L5jG$ z-K~Ha^a^9An0&Ul9lPbGIJVXUs@A)$nA9SSU6m|8k$_MsTf@c|*_1l4tQT*SN| zQtGzy#PZ-z3(!o`($eM(kVfVQVVB}Ne~ypq-tJOBUks1}5ElDU^_`+(Xe>+xdz;6J z2F`P;uCe^76k1u38jD^HL|+RM4atF6uK66XTF{0bfhiG$k-VmX(Wms+kp3JMCeiEjfT zD;psQGTm@CkV}(BIGIy8t}r)noHak-8D^Boc;48zvK29ga^)9su!J9(TbKd1J02b$ z<5r{3&4(faInsx~Uzxno-TB$z-mCp_T^|_NozPue3%~o_bQDEOGZcq=SrCvJV9sly z=l-3CF9R6FV^W832#0)56B*nql86psNi4oy4}6D(sppJ>ii+p_un~$mQy9kuiA_Y@ zvA8~%9QlM$cd_PsHW`jiqQwhF`|5WYMMVTg2Y&#=ffZ}Kf?0a%G}Y8{r+Nf$FNP?X zO@U;PrLi~LXcnvDLK`an``Mm8%W&y*RXxurTcJEz{Eo#5q7QQVF%xup?GUM4BtRkd z&R!p;m{uW%&bOT%^QC&L1ef%XFsNmU`l)L8zv15p2XUONv}mS^Sd8FmQ?SH?gPx`9 zwJ7N-8XB}(sFIM*pvz$RCJcFg=i9 z7j6&&B4N=$OSp@;jpAkb>b@(6b(TEz(@<0rw7Bgq%;7I zywHX2EjWoic}NOGj)Sw$1<(u7fcw;7{sY^hGQ<{?{Dws`@k|G5YsG>AsSq;^hD}J%X-xP^Y4_9P(tKyJ9C-y7*ri6V=LWGi*o zOo~K}Z5VMX)GO$i@+9!(ibC-DdODRB^(092-TjE}OqtR_m>xSwLpca}31wB>+9Vh* z7(TCUE1Ef_vm5qQ_y9Q{5d2ajk?pZ$Gr}6_@w`p(s-|ax71n00!wD*}t!j};QkW62 znWB*B3Y|8G7OP~J zRR!CLyxeUwQLv|ky5FlW@ckoeq#-O z69#tLv>bwKf;GLBcTVPP==3f`iR_INB#AqbUGFCtj0%FEvOI}0z9)Y^TTMp@#qAJ)#JP6(}tA>VBM5+(+h%ri9;aj73Lts+txGt*w^7AwI zto=re2NfSip?Y6#;977eykY~U&Oo}cPpR%ZkQ7MPejE5yecz1AW# z_npd{O#r1SG5C@V7)A*lHF|5Ni+=Qo!l%Bocgwfr?cj_V!D

&>W9BByJ213Wii)1@C6l5N{u@MQVx3Wx- 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�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 R{N~=1t{|f#T`OrC`d00=F!{K1lKV> zqdqIzyyCxYeY}!XBtU3gQ2WCGP#8f24TF)1%!i^*(3USEOIX;wpZ42ET+L<4KjjqO z=8VBgPx*R&d0e$!J08404BIl@E5l{a&V9<`=#Q;Hr!>Zs1dwW_h{`2VA*us?+L&2LFO`E5? z3vpcvKy7n#MjHD&mEGOlXg?bteZp8qVD#SM{pemO%R`?0vVC?A1AmYOjznP7G6OQtFdg@@I44@2k@IhuV6Y@CDCE~U`(4eVV>hy1;ikmJ` zCEzMXEz^hugG7NqBGj*)X=#W=ups2--ZWMNnZv`w=!NdtVtH3rZVOAxDckA}8Ae7% zx2s?L$$NZZM^l?lYWDW51A~K8!%5VPY-}o{3VNRK%p`_iPfkuo8iDCqdxP)-L5jG$ z-K~Ha^a^9An0&Ul9lPbGIJVXUs@A)$nA9SSU6m|8k$_MsTf@c|*_1l4tQT*SN| zQtGzy#PZ-z3(!o`($eM(kVfVQVVB}Ne~ypq-tJOBUks1}5ElDU^_`+(Xe>+xdz;6J z2F`P;uCe^76k1u38jD^HL|+RM4atF6uK66XTF{0bfhiG$k-VmX(Wms+kp3JMCeiEjfT zD;psQGTm@CkV}(BIGIy8t}r)noHak-8D^Boc;48zvK29ga^)9su!J9(TbKd1J02b$ z<5r{3&4(faInsx~Uzxno-TB$z-mCp_T^|_NozPue3%~o_bQDEOGZcq=SrCvJV9sly z=l-3CF9R6FV^W832#0)56B*nql86psNi4oy4}6D(sppJ>ii+p_un~$mQy9kuiA_Y@ zvA8~%9QlM$cd_PsHW`jiqQwhF`|5WYMMVTg2Y&#=ffZ}Kf?0a%G}Y8{r+Nf$FNP?X zO@U;PrLi~LXcnvDLK`an``Mm8%W&y*RXxurTcJEz{Eo#5q7QQVF%xup?GUM4BtRkd z&R!p;m{uW%&bOT%^QC&L1ef%XFsNmU`l)L8zv15p2XUONv}mS^Sd8FmQ?SH?gPx`9 zwJ7N-8XB}(sFIM*pvz$RCJcFg=i9 z7j6&&B4N=$OSp@;jpAkb>b@(6b(TEz(@<0rw7Bgq%;7I zywHX2EjWoic}NOGj)Sw$1<(u7fcw;7{sY^hGQ<{?{Dws`@k|G5YsG>AsSq;^hD}J%X-xP^Y4_9P(tKyJ9C-y7*ri6V=LWGi*o zOo~K}Z5VMX)GO$i@+9!(ibC-DdODRB^(092-TjE}OqtR_m>xSwLpca}31wB>+9Vh* z7(TCUE1Ef_vm5qQ_y9Q{5d2ajk?pZ$Gr}6_@w`p(s-|ax71n00!wD*}t!j};QkW62 znWB*B3Y|8G7OP~J zRR!CLyxeUwQLv|ky5FlW@ckoeq#-O z69#tLv>bwKf;GLBcTVPP==3f`iR_INB#AqbUGFCtj0%FEvOI}0z9)Y^TTMp@#qAJ)#JP6(}tA>VBM5+(+h%ri9;aj73Lts+txGt*w^7AwI zto=re2NfSip?Y6#;977eykY~U&Oo}cPpR%ZkQ7MPejE5yecz1AW# z_npd{O#r1SG5C@V7)A*lHF|5Ni+=Qo!l%Bocgwfr?cj_V!D

&>W9BByJ213Wii)1@C6l5N{u@MQVx3Wx- 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 xgB?)xi>7s~q$vusj_stS^loY?a& Date: Wed, 20 Apr 2022 10:31:06 -0700 Subject: [PATCH 11/15] switch left nav as acronmy-only, and page with full title, then acronym Signed-off-by: alicejw --- _opensearch/rest-api/cat/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_opensearch/rest-api/cat/index.md b/_opensearch/rest-api/cat/index.md index f38306e542..7f18f3195e 100644 --- a/_opensearch/rest-api/cat/index.md +++ b/_opensearch/rest-api/cat/index.md @@ -1,6 +1,6 @@ --- layout: default -title: Compact and aligned text (CAT) API +title: CAT API parent: REST API reference nav_order: 100 has_children: true @@ -8,7 +8,7 @@ redirect_from: - /opensearch/catapis/ --- -# CAT API +# Compact and aligned text (CAT) API You can get essential statistics about your cluster in an easy-to-understand, tabular format using the compact and aligned text (CAT) API. The CAT API is a human-readable interface that returns plain text instead of traditional JSON. From a5811c17643b3c0edf8562dbc875bbfdb7af153d Mon Sep 17 00:00:00 2001 From: alicejw Date: Wed, 20 Apr 2022 13:58:27 -0700 Subject: [PATCH 12/15] for reviewer comments Signed-off-by: alicejw --- _opensearch/cluster.md | 6 +++--- _opensearch/rest-api/cluster-health.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 8b699e363a..91d52a4ba4 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -14,10 +14,10 @@ To create and deploy an OpenSearch cluster according to your requirements, it’ There are many ways to design a cluster. The following illustration shows a basic architecture that includes a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager-eligible and also used for ingesting data. - **Note:** The nomenclature recently changed for the master node, it is now called the cluster manager node. - {: .tip } + The nomenclature recently changed for the master node, it is now called the cluster manager node. + {: .note } -![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.v2.png) +![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.png) ### Nodes diff --git a/_opensearch/rest-api/cluster-health.md b/_opensearch/rest-api/cluster-health.md index f20da3ec37..009ae13bec 100644 --- a/_opensearch/rest-api/cluster-health.md +++ b/_opensearch/rest-api/cluster-health.md @@ -36,7 +36,7 @@ All cluster health parameters are optional. Parameter | Type | Description :--- | :--- | :--- -expand_wildcards | Enum | Expands wildcard expressions to concrete indices. Combine multiple values with commas. Supported values are `all`, `open`, `closed`, `hidden`, and `none`. Default is `open`. +expand_wildcards | Enum | Expands wildcard expressions to concrete indexes. Combine multiple values with commas. Supported values are `all`, `open`, `closed`, `hidden`, and `none`. Default is `open`. level | Enum | The level of detail for returned health information. Supported values are `cluster`, `indices`, and `shards`. Default is `cluster`. local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. From 6b9a22cc79d36ea190427d14e69d33503000d5b2 Mon Sep 17 00:00:00 2001 From: alicejw Date: Tue, 26 Apr 2022 13:00:35 -0700 Subject: [PATCH 13/15] for feedback comments Signed-off-by: alicejw --- _opensearch/cluster.md | 4 ++-- _opensearch/rest-api/cluster-stats.md | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index 91d52a4ba4..cf979a9dd0 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -25,8 +25,8 @@ The following table provides brief descriptions of the node types: Node type | Description | Best practices for production :--- | :--- | :-- | -Cluster manager | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indexes, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated `cluster_manager` nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. -Cluster manager-eligible | Elects one node among them as the `cluster_manager` node through a voting process. | For production clusters, make sure you have dedicated `cluster_manager` nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster manager-eligible. +Cluster manager | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indexes, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated cluster manager nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. +Cluster manager-eligible | Elects one node among them as the cluster manager node through a voting process. | For production clusters, make sure you have dedicated cluster manager nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster manager-eligible. Data | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. Ingest | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. Coordinating | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. diff --git a/_opensearch/rest-api/cluster-stats.md b/_opensearch/rest-api/cluster-stats.md index 80815d9a52..13b308cb89 100644 --- a/_opensearch/rest-api/cluster-stats.md +++ b/_opensearch/rest-api/cluster-stats.md @@ -33,6 +33,8 @@ Parameter | Type | Description :--- | :--- | :--- <node-filters> | List | A comma-separated list of node-filters that OpenSearch uses to filter results. Available options are `all`, `_local`, `_cluster_manager`, a node name or ID, `cluster_manager:true`, `cluster_manager:false`, `data:true`, `data:false`, `ingest:true`, `ingest:false`, `voting_only:true`, `voting_only:false`, `ml:true`, `ml:false`, `coordinating_only:true`, `coordinating_only:false`, and <custom node attributes> : <attribute values> pairs. + Although the `master` node is now called `cluster_manager` for version 2.0, we retained the `master` field for backwards compatibility. If you have a node that has either a `master` role or a `cluster_manager` role, the `count` increases for both fields by 1. To see an example node count increase, see the Response sample. + {: .note } ## Response @@ -217,6 +219,7 @@ Parameter | Type | Description "coordinating_only": 0, "data": 1, "ingest": 1, + "master": 1, "cluster_manager": 1, "remote_cluster_client": 1 }, From 64e8e4b0693b537aa0a1e628ad267680409a1d46 Mon Sep 17 00:00:00 2001 From: alicejw Date: Wed, 27 Apr 2022 15:37:49 -0700 Subject: [PATCH 14/15] for updates to cluster manager nomenclature throughout descriptive sections Signed-off-by: alicejw --- _opensearch/cluster.md | 12 ++++++------ _opensearch/rest-api/cat/cat-cluster_manager.md | 4 ++-- _opensearch/rest-api/cat/cat-nodes.md | 2 +- _opensearch/rest-api/cat/cat-pending-tasks.md | 2 +- _opensearch/rest-api/cluster-health.md | 4 ++-- _opensearch/rest-api/cluster-settings.md | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/_opensearch/cluster.md b/_opensearch/cluster.md index cf979a9dd0..d52bdfcd9e 100644 --- a/_opensearch/cluster.md +++ b/_opensearch/cluster.md @@ -12,9 +12,9 @@ OpenSearch can operate as a single-node or multi-node cluster. The steps to conf To create and deploy an OpenSearch cluster according to your requirements, it’s important to understand how node discovery and cluster formation work and what settings govern them. -There are many ways to design a cluster. The following illustration shows a basic architecture that includes a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager-eligible and also used for ingesting data. +There are many ways to design a cluster. The following illustration shows a basic architecture that includes a four-node cluster that has one dedicated cluster manager node, one dedicated coordinating node, and two data nodes that are cluster manager eligible and also used for ingesting data. - The nomenclature recently changed for the master node, it is now called the cluster manager node. + The nomenclature recently changed for the master node; it is now called the cluster manager node. {: .note } ![multi-node cluster architecture diagram]({{site.url}}{{site.baseurl}}/images/cluster.png) @@ -26,12 +26,12 @@ The following table provides brief descriptions of the node types: Node type | Description | Best practices for production :--- | :--- | :-- | Cluster manager | Manages the overall operation of a cluster and keeps track of the cluster state. This includes creating and deleting indexes, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. | Three dedicated cluster manager nodes in three different zones is the right approach for almost all production use cases. This configuration ensures your cluster never loses quorum. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance. -Cluster manager-eligible | Elects one node among them as the cluster manager node through a voting process. | For production clusters, make sure you have dedicated cluster manager nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster manager-eligible. +Cluster manager eligible | Elects one node among them as the cluster manager node through a voting process. | For production clusters, make sure you have dedicated cluster manager nodes. The way to achieve a dedicated node type is to mark all other node types as false. In this case, you have to mark all the other nodes as not cluster manager eligible. Data | Stores and searches data. Performs all data-related operations (indexing, searching, aggregating) on local shards. These are the worker nodes of your cluster and need more disk space than any other node type. | As you add data nodes, keep them balanced between zones. For example, if you have three zones, add data nodes in multiples of three, one for each zone. We recommend using storage and RAM-heavy nodes. Ingest | Pre-processes data before storing it in the cluster. Runs an ingest pipeline that transforms your data before adding it to an index. | If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating. Coordinating | Delegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client. | A couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. We recommend using CPUs with as many cores as you can. -By default, each node is a cluster manager-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. +By default, each node is a cluster-manager-eligible, data, ingest, and coordinating node. Deciding on the number of nodes, assigning node types, and choosing the hardware for each node type depends on your use case. You must take into account factors like the amount of time you want to hold on to your data, the average size of your documents, your typical workload (indexing, searches, aggregations), your expected price-performance ratio, your risk tolerance, and so on. After you assess all these requirements, we recommend you use a benchmark testing tool like Rally to provision a small sample cluster and run tests with varying workloads and configurations. Compare and analyze the system and query metrics for these tests to design an optimum architecture. To get started with Rally, see the [Rally documentation](https://esrally.readthedocs.io/en/stable/). @@ -95,7 +95,7 @@ node.name: opensearch-d1 node.name: opensearch-d2 ``` -You can make them `cluster_manager-eligible` data nodes that will also be used for ingesting data: +You can make them cluster-manager-eligible data nodes that will also be used for ingesting data: ```yml node.roles: [ data, ingest ] @@ -142,7 +142,7 @@ Now that you've configured the network hosts, you need to configure the discover Zen Discovery is the built-in, default mechanism that uses [unicast](https://en.wikipedia.org/wiki/Unicast) to find other nodes in the cluster. -You can generally just add all your `cluster_manager-eligible` nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other `cluster_manager-eligible` nodes, determines which one is the `cluster_manager`, and asks to join the cluster. +You can generally just add all of your cluster-manager-eligible nodes to the `discovery.seed_hosts` array. When a node starts up, it finds the other cluster-manager-eligible nodes, determines which one is the cluster manager, and asks to join the cluster. For example, for `opensearch-cluster_manager` the line looks something like this: diff --git a/_opensearch/rest-api/cat/cat-cluster_manager.md b/_opensearch/rest-api/cat/cat-cluster_manager.md index 9f81c83b39..fb6850acff 100644 --- a/_opensearch/rest-api/cat/cat-cluster_manager.md +++ b/_opensearch/rest-api/cat/cat-cluster_manager.md @@ -11,7 +11,7 @@ has_children: false Introduced 1.0 {: .label .label-purple } -The cat cluster manager operation lists information that helps identify the elected cluster_manager node. +The cat cluster manager operation lists information that helps identify the elected cluster manager node. ## Example @@ -33,7 +33,7 @@ In addition to the [common URL parameters]({{site.url}}{{site.baseurl}}/opensear Parameter | Type | Description :--- | :--- | :--- -cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster manager node. Default is 30 seconds. ## Response diff --git a/_opensearch/rest-api/cat/cat-nodes.md b/_opensearch/rest-api/cat/cat-nodes.md index 8d3c7c0a8f..a2f05c36a1 100644 --- a/_opensearch/rest-api/cat/cat-nodes.md +++ b/_opensearch/rest-api/cat/cat-nodes.md @@ -38,7 +38,7 @@ Parameter | Type | Description bytes | Byte size | Specify the units for byte size. For example, `7kb` or `6gb`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). full_id | Boolean | If true, return the full node ID. If false, return the shortened node ID. Defaults to false. local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. -cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster manager node. Default is 30 seconds. time | Time | Specify the units for time. For example, `5d` or `7h`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). include_unloaded_segments | Boolean | Whether to include information from segments not loaded into memory. Default is false. diff --git a/_opensearch/rest-api/cat/cat-pending-tasks.md b/_opensearch/rest-api/cat/cat-pending-tasks.md index 8f50bfb36f..f727693502 100644 --- a/_opensearch/rest-api/cat/cat-pending-tasks.md +++ b/_opensearch/rest-api/cat/cat-pending-tasks.md @@ -34,7 +34,7 @@ In addition to the [common URL parameters]({{site.url}}{{site.baseurl}}/opensear Parameter | Type | Description :--- | :--- | :--- local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. -cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster manager node. Default is 30 seconds. time | Time | Specify the units for time. For example, `5d` or `7h`. For more information, see [Supported units]({{site.url}}{{site.baseurl}}/opensearch/units/). diff --git a/_opensearch/rest-api/cluster-health.md b/_opensearch/rest-api/cluster-health.md index 009ae13bec..8af627893e 100644 --- a/_opensearch/rest-api/cluster-health.md +++ b/_opensearch/rest-api/cluster-health.md @@ -38,8 +38,8 @@ Parameter | Type | Description :--- | :--- | :--- expand_wildcards | Enum | Expands wildcard expressions to concrete indexes. Combine multiple values with commas. Supported values are `all`, `open`, `closed`, `hidden`, and `none`. Default is `open`. level | Enum | The level of detail for returned health information. Supported values are `cluster`, `indices`, and `shards`. Default is `cluster`. -local | Boolean | Whether to return information from the local node only instead of from the cluster_manager node. Default is false. -cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster_manager node. Default is 30 seconds. +local | Boolean | Whether to return information from the local node only instead of from the cluster manager node. Default is false. +cluster_manager_timeout | Time | The amount of time to wait for a connection to the cluster manager node. Default is 30 seconds. timeout | Time | The amount of time to wait for a response. If the timeout expires, the request fails. Default is 30 seconds. wait_for_active_shards | String | Wait until the specified number of shards is active before returning a response. `all` for all shards. Default is `0`. wait_for_events | Enum | Wait until all currently queued events with the given priority are processed. Supported values are `immediate`, `urgent`, `high`, `normal`, `low`, and `languid`. diff --git a/_opensearch/rest-api/cluster-settings.md b/_opensearch/rest-api/cluster-settings.md index 6a76f182f1..570d00f53e 100644 --- a/_opensearch/rest-api/cluster-settings.md +++ b/_opensearch/rest-api/cluster-settings.md @@ -44,7 +44,7 @@ Parameter | Type | Description :--- | :--- | :--- flat_settings | Boolean | Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings. For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. include_defaults (GET only) | Boolean | Whether to include default settings as part of the response. This parameter is useful for identifying the names and current values of settings you want to update. -cluster_manager_timeout | Time | The amount of time to wait for a response from the cluster_manager node. Default is 30 seconds. +cluster_manager_timeout | Time | The amount of time to wait for a response from the cluster manager node. Default is 30 seconds. timeout (PUT only) | Time | The amount of time to wait for a response from the cluster. Default is 30 seconds. From 2bbe6d092a9f6c8617825f490467364844718850 Mon Sep 17 00:00:00 2001 From: alicejw Date: Wed, 18 May 2022 11:08:41 -0700 Subject: [PATCH 15/15] resolve conflicts Signed-off-by: alicejw --- _opensearch/rest-api/cat/cat-cluster_manager.md | 2 +- _opensearch/rest-api/cat/cat-nodes.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_opensearch/rest-api/cat/cat-cluster_manager.md b/_opensearch/rest-api/cat/cat-cluster_manager.md index fb6850acff..bb18f6082b 100644 --- a/_opensearch/rest-api/cat/cat-cluster_manager.md +++ b/_opensearch/rest-api/cat/cat-cluster_manager.md @@ -40,5 +40,5 @@ cluster_manager_timeout | Time | The amount of time to wait for a connection to ```json id | host | ip | node -ZaIkkUd4TEiAihqJGkp5CA | 172.18.0.3 | 172.18.0.3 | odfe-node2 +ZaIkkUd4TEiAihqJGkp5CA | 172.18.0.3 | 172.18.0.3 | opensearch-node2 ``` diff --git a/_opensearch/rest-api/cat/cat-nodes.md b/_opensearch/rest-api/cat/cat-nodes.md index a2f05c36a1..f12a5a37bd 100644 --- a/_opensearch/rest-api/cat/cat-nodes.md +++ b/_opensearch/rest-api/cat/cat-nodes.md @@ -47,6 +47,6 @@ include_unloaded_segments | Boolean | Whether to include information from segmen ```json ip | heap.percent | ram.percent | cpu load_1m | load_5m | load_15m | node.role | cluster_manager | name -172.18.0.3 | 31 | 97 | 3 | 0.03 | 0.10 | 0.14 dimr | * | odfe-node2 -172.18.0.4 | 45 | 97 | 3 | 0.19 | 0.14 | 0.15 dimr | - | odfe-node1 +172.18.0.3 | 31 | 97 | 3 | 0.03 | 0.10 | 0.14 dimr | * | opensearch-node2 +172.18.0.4 | 45 | 97 | 3 | 0.19 | 0.14 | 0.15 dimr | - | opensearch-node1 ```