kibana/docs/developer/advanced/running-elasticsearch.asciidoc
Stacey Gammon 1da31b2db8
Clean up the developer guide (#71631) (#72055)
* rename float to discrete

* use same section title level on all source files

* Elasticsearch => {es}

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-16 10:41:38 -04:00

118 lines
No EOL
3.1 KiB
Text

[[running-elasticsearch]]
== Running {es} during development
There are many ways to run {es} while you are developing.
[discrete]
=== By snapshot
This will run a snapshot of {es} that is usually built nightly. Read more about <<development-es-snapshots>>.
[source,bash]
----
yarn es snapshot
----
See all available options, like how to specify a specific license, with the `--help` flag.
[source,bash]
----
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 {es} between usages of this command, you should use the following command, to keep your data folder outside the downloaded snapshot folder:
[source,bash]
----
yarn es snapshot -E path.data=../data
----
=== By source
If you have the {es} repo checked out locally and wish to run against that, use `source`. By default, it will reference an {es} checkout which is a sibling to the {kib} directory named elasticsearch. If you wish to use a checkout in another location you can provide that by supplying --source-path
[source,bash]
----
yarn es source
----
=== From an archive
Use this if you already have a distributable. For released versions, one can be obtained on the {es} downloads page.
[source,bash]
----
yarn es archive <full_path_to_archive>
----
Each of these will run {es} with a basic license. Additional options are available, pass --help for more information.
=== From a remote host
You can save some system resources, and the effort of generating sample data, if you have a remote {es} 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 (<<customize-kibana-yml>>) and add the following to it:
[source,bash]
----
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:
[source,bash]
----
kibana.index: '.{YourGitHubHandle}-kibana'
xpack.task_manager.index: '.{YourGitHubHandle}-task-manager-kibana'
----
==== Running remote clusters
Setup remote clusters for cross cluster search (CCS) and cross cluster replication (CCR).
Start your primary cluster by running:
[source,bash]
----
yarn es snapshot -E path.data=../data_prod1
----
Start your remote cluster by running:
[source,bash]
----
yarn es snapshot -E transport.port=9500 -E http.port=9201 -E path.data=../data_prod2
----
Once both clusters are running, start {kib}. {kib} will connect to the primary cluster.
Setup the remote cluster in {kib} from either Management -> {es} -> Remote Clusters UI or by running the following script in Console.
[source,bash]
----
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 (<<management-cross-cluster-search>>).