|
| 1 | +[[upgrading-elastic-stack]] |
| 2 | +== Upgrading the Elastic Stack |
| 3 | + |
| 4 | +Before upgrading any component of the Elastic Stack, you should read through this guide to ensure |
| 5 | +that you upgrade in the right order and in the right way. When upgrading any component of the |
| 6 | +Elastic Stack, such as Beats, you should refer to the instructions for that component, including |
| 7 | +the breaking changes section. |
| 8 | + |
| 9 | +Each component serves a particular role in the Elastic Stack. For some use cases, it is normal to |
| 10 | +not use every component in the Elastic Stack, for instance only using Elasticsearch, Logstash, and |
| 11 | +Kibana; Elasticsearch and Kibana; Elasticsearch and Beats; or just Elasticsearch. |
| 12 | + |
| 13 | +[[upgrading-elastic-stack-audience]] |
| 14 | +=== Intended Audience |
| 15 | + |
| 16 | +This guide is intended for existing users of the Elastic Stack, running specific version ranges of |
| 17 | +each component: |
| 18 | + |
| 19 | +[cols="2", options="header"] |
| 20 | +|=== |
| 21 | +|Component |Version |
| 22 | +|Beats |
| 23 | +|1.0 or later |
| 24 | +|Elasticsearch |
| 25 | +|2.0 or later |
| 26 | +|Kibana |
| 27 | +|4.2 or later |
| 28 | +|Logstash |
| 29 | +|2.0 or later |
| 30 | +|Hadoop |
| 31 | +|2.2 or later |
| 32 | +|Marvel, Shield, Watcher, Graph, Reporting <1> |
| 33 | +|2.0 or later |
| 34 | +|=== |
| 35 | +1. Marvel, Shield, Watcher, Graph, and Reporting have all been combined into a new, unified plugin called |
| 36 | +X-Pack. Unlike before, the same X-Pack distribution works for both Elasticsearch and Kibana. |
| 37 | + |
| 38 | +NOTE: Kibana 4.2 and Elasticsearch Hadoop 2.2 were the first versions that were compatible with |
| 39 | +Elasticsearch 2.x! |
| 40 | + |
| 41 | +The spread of version numbers in the above table is the reason that the Elastic Stack is moving to |
| 42 | +a unified release number: 5.0. Beginning with 5.0, all of the components above will be released at the |
| 43 | +same time with the same version number. As such, you can choose a version with confidence across the |
| 44 | +entire stack. |
| 45 | + |
| 46 | +It is critical to note that you cannot upgrade data that was written using Elasticsearch 1.x to |
| 47 | +Elasticsearch 2.x, then upgrade directly to Elasticsearch 5.x. Elasticsearch uses Lucene to store its |
| 48 | +data and Lucene is only compatible with the current version of Lucene, and one major release behind |
| 49 | +it. The Elasticsearch upgrade instructions do cover that path. |
| 50 | + |
| 51 | +WARNING: This includes system indices, such as the `.kibana` index that is created by Kibana, and |
| 52 | +{esref}/modules-snapshots.html#modules-snapshots[snapshots of indices from Elasticsearch 1.x]! |
| 53 | + |
| 54 | +[cols="3", options="header"] |
| 55 | +|=== |
| 56 | +|Elasticsearch Version |Lucene Version| Path |
| 57 | +|5.x |6.x | {esref}/rolling-upgrades.html[Rolling Upgrade] |
| 58 | +|2.x |5.x | {esref}/restart-upgrade.html[Full Cluster Restart Upgrade] <1> |
| 59 | +|1.x |4.x | {esref}/reindex-upgrade.html[Reindexing Required] |
| 60 | +|=== |
| 61 | +1. Some features require reindexing to take advantage of them, such as Lucene's new Block KD tree support. |
| 62 | + |
| 63 | +When upgrading from two major releases ago, it is important to read the breaking changes from |
| 64 | +1.x to 2.x, as well as from 2.x to 5.x! |
| 65 | + |
| 66 | +[[upgrade-order-elastic-stack]] |
| 67 | +=== Upgrade Order |
| 68 | + |
| 69 | +As noted above, this only applies for users of Beats 1.x, Elasticsearch 2.x, Logstash 2.x, and |
| 70 | +Kibana 4.2+. For Elasticsearch in particular, it is critical to run the |
| 71 | +https://github.com/elastic/elasticsearch-migration/[Elasticsearch Migration Plugin] prior to |
| 72 | +any upgrade to verify upgrade compatibility! |
| 73 | + |
| 74 | +To maintain the most compatibility, you must upgrade the stack in the recommended order. You |
| 75 | +may skip any components that you do not use in your own system. The upgrade requires a full |
| 76 | +cluster shutdown for both Elasicsearch and Kibana because neither Elasticsearch 5.0, nor Kibana 5.0, |
| 77 | +can communicate with earlier versions of Elasticsearch. |
| 78 | + |
| 79 | +1. Elasticsearch Hadoop (can talk to Elasticsearch 5.0 and 2.x) |
| 80 | +2. Elasticsearch |
| 81 | + * X-Pack for Elasticsearch (combines Marvel Agent, Shield, Watcher, and Graph) |
| 82 | +3. Kibana (now includes Timelion and Console, formerly known as Sense) |
| 83 | + * X-Pack for Kibana (combines Marvel, Shield, Graph, and Reporting) |
| 84 | +4. Logstash |
| 85 | +5. Beats |
| 86 | + |
| 87 | +Elasticsearch Hadoop versions prior to 5.0 are not compatible with Elasticsearch 5.0, but Elasticsearch |
| 88 | +Hadoop 5.0 is compatible with Elasticsearch 2.0 and Elasticsearch 5.0. |
| 89 | + |
| 90 | +Logstash 2.0+ and Beats 1.0+ are compatible with both Elasticsearch 2.0+ and Elasticsearch 5.0. This |
| 91 | +provides flexibility in when you schedule the upgrades for each Logstash instance and Beats agent. |
| 92 | + |
| 93 | +By following the above order, you should upgrade Elasticsearch Hadoop first; then Elasticsearch |
| 94 | +by performing a full cluster restart and upgrade; then install X-Pack; then upgrade Kibana immediately |
| 95 | +afterward by restarting and upgrading all instances of Kibana; then installing X-Pack there as well. |
| 96 | +Afterward, you can choose when it makes the most sense to upgrade Logstash and Beats for your architecture. It is worth |
| 97 | +upgrading Logstash and Beats as soon as possible to take advantage of performance improvements |
| 98 | +and other enhancements. |
| 99 | + |
| 100 | +The following table lists the upgrade instructions and breaking changes for each component. Before |
| 101 | +upgrading, make sure you read through the upgrade guide and breaking changes list for every component |
| 102 | +that you are upgrading. |
| 103 | + |
| 104 | +[cols="3", options="header"] |
| 105 | +|=== |
| 106 | +|component |Breaking Changes |Upgrade |
| 107 | +|Elasticsearch |
| 108 | +|{esref}/breaking-changes.html[Breaking Changes from 2.x] |
| 109 | +|{esref}/setup-upgrade.html[Upgrading to Elasticsearch 5.0] |
| 110 | +|X-Pack |
| 111 | +|{xpackref}/breaking-changes.html[Breaking Changes from 2.x] |
| 112 | +|{xpackref}/setup-upgrade.html[Upgrading to X-Pack 5.0] |
| 113 | +|Kibana |
| 114 | +|{kibanaref}/breaking-changes.html[Breaking Changes from 4.x] |
| 115 | +|{kibanaref}/upgrading-kibana.html[Upgrading to Kibana 5.0] |
| 116 | +|Logstash |
| 117 | +|{logstashref}/breaking-changes.html[Breaking Changes from 2.x] |
| 118 | +|{logstashref}/upgrading-logstash.html[Upgrading to Logstash 5.0] |
| 119 | +|Beats |
| 120 | +|{beatsref}/breaking-changes.html[Breaking Changes from 1.x] |
| 121 | +|{beatsref}/upgrading.html[Upgrading to Beats 5.0] |
| 122 | +|Elasticsearch Hadoop |
| 123 | +|{hadoopref}/breaking-changes.html[Breaking Changes from 2.x] |
| 124 | +|{hadoopref}/install.html[Upgrading to Elasticsearch Hadoop 5.0] |
| 125 | +|=== |
| 126 | + |
| 127 | +[[upgrade-elastic-stack-for-elastic-cloud]] |
| 128 | +=== Upgrading on the Elastic Cloud |
| 129 | + |
| 130 | +The Elastic Cloud supports upgrading to Elasticsearch 5.0, Kibana 5.0, and X-Pack 5.0. Unlike the above |
| 131 | +instructions, the Elastic Cloud handles the actual upgrade process as part of its managed service, |
| 132 | +which means that you only need to be worried about breaking changes. |
| 133 | + |
| 134 | +You can read more about the |
| 135 | +{cloudref}/_upgrading_to_elasticsearch_5_0.html[Elastic Cloud upgrade process here]. |
0 commit comments