Updating Your License

edit

You can update your license at runtime without shutting down your nodes. License updates take effect immediately. The license is provided as a JSON file that you install with the license API.

  • If X-Pack security is enabled, you need manage cluster privileges to install the license. The built-in elastic user has the required privileges.
  • If X-Pack security is enabled, you must enable TLS on the transport networking layer before you install a gold or platinum license. See Setting Up SSL/TLS on a Cluster.

To update your license:

  1. Send a request to the license API and specify the file that contains your new license:

    curl -XPUT -u elastic 'http://<host>:<port>/_xpack/license' -H "Content-Type: application/json" -d @license.json

    Or on windows machine:

    gc .\license.json |  Invoke-WebRequest -uri http://<host>:<port>/_xpack/license -Credential elastic -Method Put -ContentType "application/json"

    Where:

    • elastic is the built-in super user. If you haven’t already, set a password for this user. Any user with cluster admin privileges can install the license.
    • <host> is the hostname of the Elasticsearch node (localhost if executing locally)
    • <port> is the http port (defaults to 9200)
    • license.json is the license JSON file

    The @ symbol before the license file in the curl command is important. This tells curl that the argument is a filename.

    If your Elasticsearch node has SSL enabled on the HTTP interface, you must start your URL with https://

  2. If the license you are installing does not support all of the features available with your previous license, you will be notified in the response. To complete the license installation, you must resubmit the license update request and set the acknowledge parameter to true to indicate that you are aware of the changes.

    curl -XPUT -u elastic 'http://<host>:<port>/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json