Running Elasticsearch during development

edit

Running Elasticsearch during development

edit

There are many ways to run Elasticsearch while you are developing.

By snapshot

edit

This will run a snapshot of Elasticsearch that is usually built nightly. Read more about Daily Elasticsearch Snapshots.

yarn es snapshot

See all available options, like how to specify a specific license, with the --help flag.

yarn es snapshot --help

trial will give you access to all capabilities.

Keeping data between snapshots

If you want to keep the data inside your Elasticsearch between usages of this command, you should use the following command, to keep your data folder outside the downloaded snapshot folder:

yarn es snapshot -E path.data=../data

By source

edit

If you have the Elasticsearch repo checked out locally and wish to run against that, use source. By default, it will reference an Elasticsearch checkout which is a sibling to the Kibana directory named elasticsearch. If you wish to use a checkout in another location you can provide that by supplying --source-path

yarn es source

From an archive

edit

Use this if you already have a distributable. For released versions, one can be obtained on the Elasticsearch downloads page.

yarn es archive <full_path_to_archive>

Each of these will run Elasticsearch with a basic license. Additional options are available, pass --help for more information.

From a remote host

edit

You can save some system resources, and the effort of generating sample data, if you have a remote Elasticsearch cluster to connect to. (Elasticians: you do! Check with your team about where to find credentials)

You’ll need to create a kibana.dev.yml (Customizing config/kibana.dev.yml) and add the following to it:

elasticsearch.hosts:
  - {{ url }}
elasticsearch.username: {{ username }}
elasticsearch.password: {{ password }}
elasticsearch.ssl.verificationMode: none

If many other users will be interacting with your remote cluster, you’ll want to add the following to avoid causing conflicts:

kibana.index: '.{YourGitHubHandle}-kibana'
xpack.task_manager.index: '.{YourGitHubHandle}-task-manager-kibana'

Running remote clusters

edit

Setup remote clusters for cross cluster search (CCS) and cross cluster replication (CCR).

Start your primary cluster by running:

yarn es snapshot -E path.data=../data_prod1

Start your remote cluster by running:

yarn es snapshot -E transport.port=9500 -E http.port=9201 -E path.data=../data_prod2

Once both clusters are running, start Kibana. Kibana will connect to the primary cluster.

Setup the remote cluster in Kibana from either Management → Elasticsearch → Remote Clusters UI or by running the following script in Console.

PUT _cluster/settings
{
  "persistent": {
    "cluster": {
      "remote": {
        "cluster_one": {
          "seeds": [
            "localhost:9500"
          ]
        }
      }
    }
  }
}

Follow the cross-cluster search instructions for setting up index patterns to search across clusters (Create an index pattern that searches across clusters).