diff --git a/troubleshoot/elasticsearch/add-tier.md b/troubleshoot/elasticsearch/add-tier.md index 11ebcb0760..7bde89bfe8 100644 --- a/troubleshoot/elasticsearch/add-tier.md +++ b/troubleshoot/elasticsearch/add-tier.md @@ -14,66 +14,25 @@ products: # Add a preferred data tier to a deployment [add-tier] -The allocation of indices in an {{es}} deployment can be allocated on [data tiers](../../manage-data/lifecycle/data-tiers.md). +In an {{es}} deployment, an index and its shards can be allocated to [data tiers](../../manage-data/lifecycle/data-tiers.md) using routing and allocation settings. -In order to allow indices to be allocated, follow these steps to add the [data tier](../../manage-data/lifecycle/data-tiers.md) the indices expect to be allocated on to your deployment: +To allow indices to be allocated, follow these steps: -:::::::{tab-set} +1. [Determine which tiers](#determine-target-tier) an index's shards can be allocated to. +1. [Resize your deployment](#resize-your-deployment). -::::::{tab-item} {{kib}} -In order to get the shards assigned we need enable a new tier in the deployment. +## Determine the target tier [determine-target-tier] -1. Log in to the [{{ecloud}} console](https://cloud.elastic.co?page=docs&placement=docs-body). -2. On the **Hosted deployments** panel, click the name of your deployment. +You can run the following step using either [API console](/explore-analyze/query-filter/tools/console.md) or direct [Elasticsearch API](elasticsearch://reference/elasticsearch/rest-apis/index.md) calls. - ::::{note} - If the name of your deployment is disabled your {{kib}} instances might be unhealthy, in which case contact [Elastic Support](https://support.elastic.co). If your deployment doesn’t include {{kib}}, all you need to do is [enable it first](../../deploy-manage/deploy/elastic-cloud/access-kibana.md). - :::: - -3. Open your deployment’s side navigation menu (placed under the Elastic logo in the upper left corner) and go to **Dev Tools > Console**. - - :::{image} /troubleshoot/images/elasticsearch-reference-kibana-console.png - :alt: {{kib}} Console - :screenshot: - ::: - -4. Determine which tier an index expects for assignment. [Retrieve](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) the configured value for the `index.routing.allocation.include._tier_preference` setting: - - ```console - GET /my-index-000001/_settings/index.routing.allocation.include._tier_preference?flat_settings - ``` - - The response will look like this: - - ```console-result - { - "my-index-000001": { - "settings": { - "index.routing.allocation.include._tier_preference": "data_warm,data_hot" <1> - } - } - } - ``` - - 1. Represents a comma-separated list of data tier node roles this index is allowed to be allocated on, the first one in the list being the one with the higher priority i.e. the tier the index is targeting. e.g. in this example the tier preference is `data_warm,data_hot` so the index is targeting the `warm` tier and more nodes with the `data_warm` role are needed in the {{es}} cluster. - -5. Open your deployment’s side navigation menu (placed under the Elastic logo in the upper left corner) and go to **Manage this deployment**. -6. From the right hand side, click to expand the **Manage** dropdown button and select **Edit deployment** from the list of options. -7. On the **Edit** page, click on **+ Add Capacity** for the tier you identified you need to enable in your deployment. Choose the desired size and availability zones for the new tier. -8. Navigate to the bottom of the page and click the **Save** button. -:::::: - -::::::{tab-item} API -In order to get the shards assigned you can add more nodes to your {{es}} cluster and assign the index’s target tier [node role](../../manage-data/lifecycle/index-lifecycle-management/migrate-index-allocation-filters-to-node-roles.md#assign-data-tier) to the new nodes. - -To determine which tier an index requires for assignment, use the [get index setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) API to retrieve the configured value for the `index.routing.allocation.include._tier_preference` setting: +To determine which tiers an index's shards can be allocated to, use the [get index setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) API to retrieve the configured value for the `index.routing.allocation.include._tier_preference` setting: ```console GET /my-index-000001/_settings/index.routing.allocation.include._tier_preference?flat_settings ``` -The response will look like this: +The response looks like this: ```console-result { @@ -86,6 +45,31 @@ The response will look like this: ``` 1. Represents a comma-separated list of data tier node roles this index is allowed to be allocated on, the first one in the list being the one with the higher priority i.e. the tier the index is targeting. e.g. in this example the tier preference is `data_warm,data_hot` so the index is targeting the `warm` tier and more nodes with the `data_warm` role are needed in the {{es}} cluster. + +## Resize your deployment [resize-your-deployment] + + + +:::::::{applies-switch} + +::::::{applies-item} { ess:, ece: } +To enable a new tier in your {{ech}} deployment, you edit the deployment topology to add a new data tier. + +1. In {{kib}}, open your deployment’s navigation menu (placed under the Elastic logo in the upper left corner) and go to **Manage this deployment**. +1. From the right hand side, click to expand the **Manage** dropdown button and select **Edit deployment** from the list of options. +1. On the **Edit** page, click on **+ Add Capacity** for the tier you identified you need to enable in your deployment. Choose the desired size and availability zones for the new tier. +1. Navigate to the bottom of the page and click the **Save** button. +:::::: + +::::::{applies-item} { self: } + +Add more nodes to your {{es}} cluster and assign the index’s target tier [node role](/manage-data/lifecycle/data-tiers.md#configure-data-tiers-on-premise) to the new nodes, by adjusting the configuration in `elasticsearch.yml`. +:::::: + + +::::::{applies-item} { eck: } +Add more nodes to your {{es}} cluster and assign the index’s target tier [node role](/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md#change-node-role) to the new nodes, by adjusting the [node configuration](/deploy-manage/deploy/cloud-on-k8s/node-configuration.md) in the `spec` section of your {{es}} resource manifest. + :::::: -::::::: +::::::: \ No newline at end of file diff --git a/troubleshoot/elasticsearch/all-shards-failed.md b/troubleshoot/elasticsearch/all-shards-failed.md index ddb642659c..a70532dd91 100644 --- a/troubleshoot/elasticsearch/all-shards-failed.md +++ b/troubleshoot/elasticsearch/all-shards-failed.md @@ -1,11 +1,6 @@ --- applies_to: stack: - deployment: - eck: - ess: - ece: - self: navigation_title: "Error: All shards failed" --- diff --git a/troubleshoot/elasticsearch/allow-all-cluster-allocation.md b/troubleshoot/elasticsearch/allow-all-cluster-allocation.md index dc9cf5e381..2420cfa760 100644 --- a/troubleshoot/elasticsearch/allow-all-cluster-allocation.md +++ b/troubleshoot/elasticsearch/allow-all-cluster-allocation.md @@ -4,11 +4,6 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/allow-all-cluster-allocation.html applies_to: stack: - deployment: - eck: - ess: - ece: - self: products: - id: elasticsearch --- @@ -19,68 +14,14 @@ The allocation of data in an {{es}} deployment can be controlled using the [enab Forgetting to re-allow all data allocations can lead to unassigned shards. -In order to (re)allow all data to be allocated follow these steps: +To get the shards assigned we need to change the value of the [configuration](elasticsearch://reference/elasticsearch/configuration-reference/cluster-level-shard-allocation-routing-settings.md#cluster-routing-allocation-enable) that restricts the assignment of the shards to allow all shards to be allocated. -:::::::{tab-set} +We achieve this by inspecting the system-wide `cluster.routing.allocation.enable` [cluster setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings) and changing the configured value to `all`. -::::::{tab-item} {{ech}} -In order to get the shards assigned we’ll need to change the value of the [configuration](elasticsearch://reference/elasticsearch/configuration-reference/cluster-level-shard-allocation-routing-settings.md#cluster-routing-allocation-enable) that restricts the assignemnt of the shards to allow all shards to be allocated. +To allow all data to be allocated, follow these steps. -We’ll achieve this by inspecting the system-wide `cluster.routing.allocation.enable` [cluster setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings) and changing the configured value to `all`. +You can run the following steps using either [API console](/explore-analyze/query-filter/tools/console.md) or direct [Elasticsearch API](elasticsearch://reference/elasticsearch/rest-apis/index.md) calls. -**Use {{kib}}** - -1. Log in to the [{{ecloud}} console](https://cloud.elastic.co?page=docs&placement=docs-body). -2. On the **Hosted deployments** panel, click the name of your deployment. - - ::::{note} - If the name of your deployment is disabled your {{kib}} instances might be unhealthy, in which case contact [Elastic Support](https://support.elastic.co). If your deployment doesn’t include {{kib}}, all you need to do is [enable it first](../../deploy-manage/deploy/elastic-cloud/access-kibana.md). - :::: - -3. Open your deployment’s side navigation menu (placed under the Elastic logo in the upper left corner) and go to **Dev Tools > Console**. - - :::{image} /troubleshoot/images/elasticsearch-reference-kibana-console.png - :alt: {{kib}} Console - :screenshot: - ::: - -4. Inspect the `cluster.routing.allocation.enable` [cluster setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings): - - ```console - GET /_cluster/settings?flat_settings - ``` - - The response will look like this: - - ```console-result - { - "persistent": { - "cluster.routing.allocation.enable": "none" <1> - }, - "transient": {} - } - ``` - - 1. Represents the current configured value that controls if data is partially or fully allowed to be allocated in the system. - -5. [Change](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) the [configuration](elasticsearch://reference/elasticsearch/configuration-reference/cluster-level-shard-allocation-routing-settings.md#cluster-routing-allocation-enable) value to allow all the data in the system to be fully allocated: - - ```console - PUT _cluster/settings - { - "persistent" : { - "cluster.routing.allocation.enable" : "all" <1> - } - } - ``` - - 1. The new value for the `allocation.enable` system-wide configuration is changed to allow all the shards to be allocated. -:::::: - -::::::{tab-item} Self-managed -In order to get the shards assigned we’ll need to change the value of the [configuration](elasticsearch://reference/elasticsearch/configuration-reference/cluster-level-shard-allocation-routing-settings.md#cluster-routing-allocation-enable) that restricts the assignemnt of the shards to allow all shards to be allocated. - -We’ll achieve this by inspecting the system-wide `cluster.routing.allocation.enable` [cluster setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings) and changing the configured value to `all`. 1. Inspect the `cluster.routing.allocation.enable` [cluster setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings): @@ -112,7 +53,4 @@ We’ll achieve this by inspecting the system-wide `cluster.routing.allocation.e } ``` - 1. The new value for the `allocation.enable` system-wide configuration is changed to allow all the shards to be allocated. -:::::: - -::::::: + 1. The new value for the `allocation.enable` system-wide configuration is changed to allow all the shards to be allocated. \ No newline at end of file diff --git a/troubleshoot/elasticsearch/allow-all-index-allocation.md b/troubleshoot/elasticsearch/allow-all-index-allocation.md index caa2c2cac2..33991aaa97 100644 --- a/troubleshoot/elasticsearch/allow-all-index-allocation.md +++ b/troubleshoot/elasticsearch/allow-all-index-allocation.md @@ -4,11 +4,6 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/allow-all-index-allocation.html applies_to: stack: - deployment: - eck: - ess: - ece: - self: products: - id: elasticsearch --- @@ -22,65 +17,11 @@ The allocation of data can be controlled using the [enable allocation configurat Forgetting to re-allow all data allocation can lead to unassigned shards. -In order to (re)allow all data to be allocated follow these steps: +In order to get the shards assigned we’ll need to change the value of the [configuration](elasticsearch://reference/elasticsearch/index-settings/index-modules.md#index-routing-allocation-enable-setting) that restricts the assignment of the shards to `all`. -:::::::{tab-set} +To allow all data to be allocated, follow these steps. -::::::{tab-item} {{ech}} -In order to get the shards assigned we’ll need to change the value of the [configuration](elasticsearch://reference/elasticsearch/index-settings/index-modules.md#index-routing-allocation-enable-setting) that restricts the assignemnt of the shards to `all`. - -**Use {{kib}}** - -1. Log in to the [{{ecloud}} console](https://cloud.elastic.co?page=docs&placement=docs-body). -2. On the **Hosted deployments** panel, click the name of your deployment. - - ::::{note} - If the name of your deployment is disabled your {{kib}} instances might be unhealthy, in which case contact [Elastic Support](https://support.elastic.co). If your deployment doesn’t include {{kib}}, all you need to do is [enable it first](../../deploy-manage/deploy/elastic-cloud/access-kibana.md). - :::: - -3. Open your deployment’s side navigation menu (placed under the Elastic logo in the upper left corner) and go to **Dev Tools > Console**. - - :::{image} /troubleshoot/images/elasticsearch-reference-kibana-console.png - :alt: {{kib}} Console - :screenshot: - ::: - -4. Inspect the `index.routing.allocation.enable` [index setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) for the index with unassigned shards: - - ```console - GET /my-index-000001/_settings/index.routing.allocation.enable?flat_settings - ``` - - The response will look like this: - - ```console-result - { - "my-index-000001": { - "settings": { - "index.routing.allocation.enable": "none" <1> - } - } - } - ``` - - 1. Represents the current configured value that controls if the index is allowed to be partially or totally allocated. - -5. [Change](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-settings) the [configuration](elasticsearch://reference/elasticsearch/index-settings/index-modules.md#index-routing-allocation-enable-setting) value to allow the index to be fully allocated: - - ```console - PUT /my-index-000001/_settings - { - "index" : { - "routing.allocation.enable" : "all" <1> - } - } - ``` - - 1. The new value for the `allocation.enable` configuration for the `my-index-000001` index is changed to allow all the shards to be allocated. -:::::: - -::::::{tab-item} Self-managed -In order to get the shards assigned we’ll need to change the value of the [configuration](elasticsearch://reference/elasticsearch/index-settings/index-modules.md#index-routing-allocation-enable-setting) that restricts the assignemnt of the shards to `all`. +You can run the following steps using either [API console](/explore-analyze/query-filter/tools/console.md) or direct [Elasticsearch API](elasticsearch://reference/elasticsearch/rest-apis/index.md) calls. 1. Inspect the `index.routing.allocation.enable` [index setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) for the index with unassigned shards: @@ -114,6 +55,4 @@ In order to get the shards assigned we’ll need to change the value of the [con ``` 1. The new value for the `allocation.enable` configuration for the `my-index-000001` index is changed to allow all the shards to be allocated. -:::::: -::::::: diff --git a/troubleshoot/elasticsearch/circuit-breaker-errors.md b/troubleshoot/elasticsearch/circuit-breaker-errors.md index 6c170e614b..c868d5461c 100644 --- a/troubleshoot/elasticsearch/circuit-breaker-errors.md +++ b/troubleshoot/elasticsearch/circuit-breaker-errors.md @@ -3,11 +3,6 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker-errors.html applies_to: stack: - deployment: - eck: - ess: - ece: - self: products: - id: elasticsearch --- diff --git a/troubleshoot/elasticsearch/corruption-troubleshooting.md b/troubleshoot/elasticsearch/corruption-troubleshooting.md index 6e2b13779d..464f5bb196 100644 --- a/troubleshoot/elasticsearch/corruption-troubleshooting.md +++ b/troubleshoot/elasticsearch/corruption-troubleshooting.md @@ -3,10 +3,8 @@ navigation_title: Data corruption mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/corruption-troubleshooting.html applies_to: - stack: deployment: eck: - ess: ece: self: products: @@ -15,6 +13,11 @@ products: # Troubleshoot data corruption [corruption-troubleshooting] +:::{note} +:applies_to: {"serverless": "ga", "ess": "ga", } +While this section applies to troubleshooting fully self-managed {{es}} clusters, {{ech}} deployments and {{serverless-full}} projects are designed to minimize the risk of data corruption through managed infrastructure and automated operations. If you encounter any of these issues in {{ecloud}}, contact Elastic Support. +::: + {{es}} expects that the data it reads from disk is exactly the data it previously wrote. If it detects that the data on disk is different from what it wrote then it will report some kind of exception such as: * `org.apache.lucene.index.CorruptIndexException`