Find your Elastic Stack Upgrade Path ''Plotting to upgrade your Elastic Stack to 6.0?'' You've come to the right place! Answer a few questions, and we'll build a customized upgrade checklist for you that links to the relevant docs for each step of the way. Ready to get started? [[Let's Go!->Stack]] [[Not right now, maybe later->Don't Panic]] <>\ <>\ <>\ <>\ <>\ <>\ <>\ <>\ <>\ <>\ <>\ <>\ <> <> <> <> <> <> ''Upgrading from 5.6 to 6.0'' From 5.6, you can perform a rolling upgrade to 6.0. We recommend using the X-Pack Upgrade Assistant to prepare for the upgrade. [[I'll use the X-Pack Upgrade Assistant|Upgrade assistant][$upgrade_assistant = true]] [[No thanks, I don't want to use X-Pack|Manual upgrade][$upgrade_assistant = false]] <> ''Don't Panic'' We'll be here for you whenever you're ready to plan your upgrade. ''Preparing to upgrade with the X-Pack Upgrade Assistant'' Use the Upgrade Assistant to: * View issues you need to address before upgrading to 6.0. <>\ * Reindex your 2.x indices. <>\ <>\ * Upgrade the internal {{{.kibana}}} index. <>\ <>\ * Upgrade the internal X-Pack indices. <>\ <>\ [[Next|X-Pack features]] <>\ [[Next|Rolling upgrade to 6.0]] <> <> ''Manually Upgrading from 5.6 to 6.0'' <>\ Attempting to manually upgrade the internal X-Pack indices is not recommended. Use the X-Pack 5.6 Upgrade Assistant to automatically upgrade the internal index templates, indices, and any 2.x indices that you need to carry forward to 6.0. [[Next|Upgrade assistant]] <>\ We understand, sometimes you just need to do things for yourself! <>\ Do you have any indices that were created in 2.x that you need to be able to access in 6.0? To see the version of each index, use the GET settings API: {{{curl -XGET 'http://localhost:9200/_settings/index.version.created}}} If an index's version starts with 20, you must reindex it to carry it forward as you upgrade. [[Yes, I need to reindex 2.x indices->Preparing to upgrade from 5.6][$v2_indices = true]] [[Nope, I don't have any 2.x indices that I need to carry forward->Preparing to upgrade from 5.6][$v2_indices = false]] <>\ <>\ <> ''Upgrading from 5.x to 6.0'' <>\ You must perform a two-step rolling upgrade: Upgrade to 5.6 ,and then perform a rolling upgrade to 6.0.\ [[Next->Rolling upgrade to 5.6]]\ <>\ You have a couple options:\ * Perform a two-step rolling upgrade: Upgrade to 5.6, and then perform a rolling upgrade to 6.0. * Perform a full cluster restart upgrade directly to 6.0.\ If your stack includes Kibana, Logstash, Beats, or X-Pack, we recommend upgrading to 5.6 on your way to 6.0 and using the X-Pack Upgrade Assistant to update the Beats and Logstash index templates and reindex the internal Kibana and X-Pack indices. [[I'll upgrade to 5.6 first->Rolling upgrade to 5.6]] [[I prefer to jump straight to 6.0->FCR upgrade to 6.0]] <> <> ''Let's figure out what you need to do to get from 2.x to 6.0.'' Do you have any indices that were created in 1.x? To see the version of each index, use the GET settings API: {{{curl -XGET 'http://localhost:9200/_settings/index.version.created'}}} If an index's version starts with 10, you must reindex it to carry it forward as you upgrade. [[Yes, I have 1.x indices that I need to carry forward|FCR upgrade to 5.6][$v1indices = true]] [[No, I don't have any 1.x indices I need to access from my upgraded stack|FCR upgrade to 5.6][$v1indices = false]] <> ''Upgrading to 5.6'' <>\ To get from 2.x to 6.0, you need to perform a full cluster restart upgrade to 5.6, and then perform a rolling upgrade to 6.0. When upgrading, make sure you: * ''Back up your data'' before making any changes! * Use the Elasticsearch Migration Plugin to identify issues you need to address before upgrading to 5.6. * Check all of the 5.x breaking changes to determine what changes affect your application(s). * Verify that 5.6 compatible versions are available for any custom plugins you use. * Test the upgrade in a dev environment. [[Next|5.6 upgrade]] <> ''You can perform a rolling upgrade from 5.x to 5.6.'' <>\ When upgrading, make sure you: * ''Back up your data'' before making any changes! * Check the 5.6 breaking changes to determine what changes affect your application(s). * Verify that 5.6 compatible versions are available for any custom plugins you use. * Test the upgrade in a dev environment. [[Next|5.6 upgrade]] <> <>\ <>\ <>\ ''Your 6.0 upgrade checklist'' <>\ <> <>\ <>\ <> <>\ <>\ <>\ <>\ <> <>\ <> <>\ <>\ <> <>\ ''Rolling to 6.0'' You can upgrade from 5.6 by performing a rolling upgrade. A full cluster restart is not required. (Yay!) [[Show me my upgrade checklist->Upgrade checklist]] <> ''First off, we need some information about your stack.'' What version are you currently running? <> 2.x <> 5.0-5.5 <> 5.6 \ What products are you using? <> Elasticsearch <> Kibana <> Logstash <> Beats <> Elasticsearch for Hadoop Are you running in Elastic Cloud? <> Yes <> No <> <> <>You must select the version you are upgrading from. <> <><>\ <><>\ <><> <> <> ''Preparing to upgrade from 5.6'' <>\ You need to reindex your 2.x indices on 5.x to carry them forward to 6.0. <>\ <>\ <>\ <>\ <>\ <>\ The Beats index templates in 5.6 have been updated to a 6.0 compatible format. To ensure uninterrupted service, make sure the 5.6 Beats template is loaded before upgrading. <>\ <>\ Because the `_all` field is deprecated in 6.0 and can no longer be enabled for new indices, the Elasticsearch output template has been updated in 5.6 to ensure a seamless migration to 6.0. If you have a custom Elasticsearch output template that uses `_all`, update it before upgrading. <>\ Before upgrading, make sure you: * ''Back up your data'' before making any changes! * Check the 6.0 breaking changes to determine what changes affect your application(s). * Verify that 6.0 compatible versions are available for any custom plugins you use. * Test the upgrade in a dev environment.\ [[Next|Rolling upgrade to 6.0]] <> ''Which X-Pack features do you normally use?'' <> Security <> Machine Learning <> Watcher/Alerting <> Monitoring <> Reporting [[Next|Security]] <> ''Jumping straight to 6.0'' <> Rolling upgrades to 6.0 are only supported from version 5.6. To jump straight to 6.0 from an earlier version, you must perform a full cluster restart upgrade. Before upgrading, make sure you: * ''Back up your data'' before making any changes! * Check the 6.0 breaking changes to determine what changes affect your application(s). * Verify that 6.0 compatible versions are available for any custom plugins you use. * Test the upgrade in a dev environment.\ After upgrading to 6.0, you might need to perform additional steps before you can restart your stack. <>\ * Beats uses new index templates in 6.0. After upgrading to Beats 6.0, you must make sure the new index template is loaded for each Beat type you are using. <>\ <>\ * Kibana uses a new index format in 6.0. After upgrading and starting Elasticsearch, you must manually upgrade the {{{.kibana}}} index to the new format before you can run Kibana 6.0. <>\ <>\ * The internal X-Pack indices need to be migrated to 6.0-compatible formats. Install X-Pack into Kibana 6.0, run Kibana, and use the X-Pack Upgrade Assistant to migrate the indices. [[Next|X-Pack features]] <> [[Show me my upgrade checklist |Upgrade checklist]] <> <> <>\ ''Have you considered using X-Pack Security to secure your cluster?'' X-Pack Security makes it easy to protect your cluster and data from unauthorized access. For more information about options for securing your Elasticsearch stack, see [[Protecting your cluster|https://www.elastic.co/blog/protecting-against-attacks-that-hold-your-data-for-ransom]]. <>\ <>\ ''Do you have TLS enabled to require node authentication? '' <> <>Great! TLS is required in 6.0.<> <> <> <>TLS is required in 6.0 to protect clusters against man-in-the-middle type attacks. You will need to enable TLS before upgrading to 6.0, which requires a full-cluster restart. <> <> <> <> <> [[Show me my upgrade checklist|Upgrade checklist]] <>[[Next|Rolling upgrade to 6.0]] <> <> <>''56-fcr-upgrade''<>\ <>\ [[Reindex your Elasticsearch 1.x indices into a 2.x index|https://www.elastic.co/guide/en/elasticsearch/reference/5.6/reindex-upgrade.html]]. You will not be able to read and reindex 1.x indices once you upgrade to 5.6. <>\ <>\ [[Upgrade Elasticsearch for Hadoop to 5.6|https://www.elastic.co/guide/en/elasticsearch/hadoop/5.6/install.html]]. Elasticsearch Hadoop 5.6 is compatible with Elasticsearch 2.x and Elasticsearch 5.x. <>\ [[Shut down your cluster and install Elasticsearch 5.6 on all nodes|https://www.elastic.co/guide/en/elasticsearch/reference/5.6/restart-upgrade.html]].\ <>\ [[Install X-Pack on each node|https://www.elastic.co/guide/en/elasticsearch/reference/5.6/installing-xpack-es.html]]. <>\ Restart your Elasticsearch cluster.\ <> <>''56-rolling-upgrade''<>\ [[Perform a rolling upgrade of your cluster to 5.6|https://www.elastic.co/guide/en/elasticsearch/reference/5.6/rolling-upgrades.html]] We recommend disabling shard allocation and pausing indexing while you upgrade. <> <>''60-fcr-upgrade''<>\ <>\ <>[[Reindex your Elasticsearch 2.x indices into a 5.x index.|https://www.elastic.co/guide/en/elasticsearch/reference/5.6/reindex-upgrade.html]] You will not be able to read and reindex 2.x indices once you upgrade to 6.x. <>\ <>\ [[Enable TLS on your 5.x cluster|https://www.elastic.co/guide/en/x-pack/5.5/ssl-tls.html]] <>\ <>\ [[Stop any running Machine Learning jobs.|https://www.elastic.co/guide/en/x-pack/5.6/ml-gs-job1-manage.html]] <>\ Stop sending data to your cluster. [[Shut down your cluster and install Elasticsearch 6.0 on all nodes.|https://www.elastic.co/guide/en/elasticsearch/reference/6.0/restart-upgrade.html]] <>\ [[Install X-Pack on each node.|https://www.elastic.co/guide/en/elasticsearch/reference/6.0/installing-xpack-es.html]] <>\ Restart your Elasticsearch cluster. <>\ <>''56-components''<>\ <>\ [[Upgrade Kibana to 5.6.|https://www.elastic.co/guide/en/kibana/5.6/upgrade.html]] <>\ [[Install X-Pack into Kibana.|https://www.elastic.co/guide/en/kibana/5.6/installing-xpack-kb.html]] <>\ Restart Kibana. <> <>\ [[Upgrade Logstash to 5.6|https://www.elastic.co/guide/en/logstash/5.6/upgrading-logstash.html]] <>\ [[Install X-Pack into Logstash.|https://www.elastic.co/guide/en/logstash/5.6/installing-xpack-log.html]] <>\ Restart Logstash. <>\ <>\ [[Upgrade each beat to 5.6 and restart them.|https://www.elastic.co/guide/en/beats/libbeat/6.0/upgrading-5-to-6.html#upgrading-to-5.6]] <>\ <>\ [[Upgrade Elasticsearch for Hadoop to 5.6.|https://www.elastic.co/guide/en/elasticsearch/hadoop/5.6/install.html Elasticsearch Hadoop 5.6 is compatible with Elasticsearch 2.x and Elasticsearch 5.x. <>\ <>''60-rolling-upgrade''<>\ <>\ [[Stop any running Machine Learning jobs.|https://www.elastic.co/guide/en/x-pack/5.6/ml-gs-job1-manage.html]] <>\ <>\ [[Upgrade Elasticsearch for Hadoop to 6.0.|https://www.elastic.co/guide/en/elasticsearch/hadoop/6.0/install.html]] Elasticsearch Hadoop 6.0 is compatible with Elasticsearch 5.x and Elasticsearch 6.x. <>\ [[Perform a rolling upgrade to 6.0.|https://www.elastic.co/guide/en/elasticsearch/reference/6.0/rolling-upgrades.html]] We recommend disabling shard allocation and pausing indexing while you upgrade. <> <>''60-prepare''<>\ Use the [[Upgrade Assistant|https://www.elastic.co/guide/en/kibana/5.6/xpack-upgrade-assistant.html#reindex-helper]] to:\ * Upgrade the internal {{{.kibana}}} index. <>\ * Upgrade the internal X-Pack indices. <>\ * Upgrade your 2.x indices. <>\ <>\ [[Enable TLS to secure cluster communications.|https://www.elastic.co/guide/en/x-pack/current/ssl-tls.html]] <>\ <>''60-components''<>\ <>\ [[Upgrade Kibana to 6.0.|https://www.elastic.co/guide/en/kibana/5.6/upgrade.html]] <>\ [[Install X-Pack into Kibana.|https://www.elastic.co/guide/en/kibana/5.6/installing-xpack-kb.html]] <>\ [[Create a temporary super user and upgrade the internal .kibana index.|https://www.elastic.co/guide/en/elastic-stack/6.0/upgrading-elastic-stack.html#upgrade-internal-indices]] Restart Kibana. Log in to Kibana as the temporary super user. [[Use the Upgrade assistant to upgrade the internal X-Pack indices.|https://www.elastic.co/guide/en/kibana/6.0/xpack-upgrade-assistant.html#reindex-helper]] [[Delete the temporary super user.|https://www.elastic.co/guide/en/elasticsearch/reference/6.0/users-command.html]] <>\ Restart Kibana. <>\ <>\ <>\ <>\ [[Upgrade Logstash to 6.0.|https://www.elastic.co/guide/en/logstash/5.6/upgrading-logstash.html]] <>\ [[Install X-Pack into Logstash.|https://www.elastic.co/guide/en/logstash/5.6/installing-xpack-log.html]] <>\ Restart Logstash. <>\ <>\ [[Upgrade each beat to 6.0. and restart them.|https://www.elastic.co/guide/en/beats/libbeat/6.0/upgrading-5-to-6.html#upgrading-to-5.6]]\ <>\ <>\ [[Upgrade Elasticsearch for Hadoop to 6.0.|https://www.elastic.co/guide/en/elasticsearch/hadoop/6.0/install.html Elasticsearch Hadoop 6.0 is compatible with Elasticsearch 5.x and Elasticsearch 6.x. <>\ ''Upgrading to 6.0 on Elastic Cloud'' On Elastic Cloud, all major configuration changes to upgrade Elasticsearch, Kibana, and X-Pack are handled for you. When preparing to upgrade, you need to:\ * [[Reindex any 2.4 or earlier indices that you need to carry forward|https://www.elastic.co/guide/en/elasticsearch/reference/6.0/reindex-upgrade.html]]. * Address any breaking changes that affect your applications.\ <>\ You must upgrade to 5.6 before upgrading to 6.0. \ <>\ A full cluster restart is required when upgrading to 6.0 to enable TLS. For more information, see [[Upgrade to Elasticsearch 6.x|https://www.elastic.co/guide/en/cloud/saas-release/ec-upgrading-v6.html]]. ''Do you use X-Pack?'' <>\ [[Yes|5.x upgrade][$xpack = true]] [[No|5.x upgrade][$xpack = false]]\ <>\ [[Yes|5.6 upgrade][$xpack = true]] [[No|5.6 upgrade][$xpack = false]]\ <> <> ''Do you use any of Elastic's licensed products?'' If so, which products do you use? <> Shield <> Watcher <> Marvel <> Reporting <>None of the above [[Next->2.x upgrade]] <> <> Upgrading from: $version Kibana: $kibana Beats: $beats Logstash $logstash Logstash template: $logstash_template Upgrade assistant: $upgrade_assistant DIY upgrade: $diy_upgrade <>\ Shield: $shield Watcher: $watcher Marvel: $marvel Reporting: $reporting V1 Indices: $v1indices <>\ X-Pack enabled: $xpack X-Pack security: $xpack_security TLS: $xpack_tls <>\ V2 Indices: $v2indices <>