From 73fda0976265ed39224f0d87b975343331eea319 Mon Sep 17 00:00:00 2001 From: Michelle Sausa Date: Wed, 3 Oct 2018 18:05:44 -0600 Subject: [PATCH] Reverting ES related changes --- elasticsearch/content.md | 63 ++++++++++++++++++++++++++----------- elasticsearch/github-repo | 2 +- elasticsearch/license.md | 2 +- elasticsearch/maintainer.md | 2 +- 4 files changed, 48 insertions(+), 21 deletions(-) mode change 100644 => 120000 elasticsearch/maintainer.md diff --git a/elasticsearch/content.md b/elasticsearch/content.md index a3a6a6417..62029a0be 100644 --- a/elasticsearch/content.md +++ b/elasticsearch/content.md @@ -1,39 +1,66 @@ # What is Elasticsearch? -Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data so you can discover the expected and uncover the unexpected. +Elasticsearch is a search server based on Lucene. It provides a distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents. + +Elasticsearch is a registered trademark of Elasticsearch BV. > [wikipedia.org/wiki/Elasticsearch](https://en.wikipedia.org/wiki/Elasticsearch) %%LOGO%% -# About This Image - -This default distribution is governed by the Elastic License, and includes the [full set of free features](https://www.elastic.co/subscriptions). - -View the detailed release notes [here](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/release-notes-6.4.1.html). - -Not the version you're looking for? View all supported [past releases](https://www.docker.elastic.co). - # How to use this image -**Note:** Pulling an images requires using a specific version number tag. The `latest` tag is not supported. +## Cluster -For Elasticsearch versions prior to 6.4.0 a full list of images, tags, and documentation can be found at [docker.elastic.co](https://www.docker.elastic.co/). +**Note:** since 5.0, Elasticsearch only listens on `localhost` by default on both http and transport, so this image sets `http.host` to `0.0.0.0` (given that `localhost` is not terribly useful in the Docker context). -For full Elasticsearch documentation see [here](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/index.html). +As a result, this image does not support clustering out of the box and extra configuration must be set in order to support it. -**The commands below are intended for deploying in a development context only. For production installation and configuration, see [Install Elasticsearch with Docker](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/docker.html).** +Supporting clustering implies having Elasticsearch in a production mode which is more strict about the bootstrap checks that it performs, especially when checking the value of `vm.max_map_count` which is not namespaced and thus must be set to an acceptable value on the host (as opposed to simply using `--sysctl` on `docker run`). -## Running in Development Mode +One example of adding clustering support is to pass the configuration on the `docker run`: ```console -$ docker pull elasticsearch:tag +$ docker run -d --name elas elasticsearch -Etransport.host=0.0.0.0 -Ediscovery.zen.minimum_master_nodes=1 ``` +See the following sections of the upstream documentation for more information: + +- [Setup Elasticsearch » Important System Configuration » Virtual memory](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/vm-max-map-count.html) +- [Setup Elasticsearch » Bootstrap Checks » Maximum map count check](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/_maximum_map_count_check.html) + +This [comment in elastic/elasticsearch#4978](https://github.com/elastic/elasticsearch/issues/4978#issuecomment-258676104) shows why this change was added in upstream. + +> Elasticsearch will not start in production mode if `vm.max_map_count` is not high enough. [...] If the value on your system is NOT high enough, then your cluster is going to crash and burn at some stage and you will lose data. + +## Running Containers + +You can run the default `elasticsearch` command simply: + ```console -$ docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag +$ docker run -d elasticsearch ``` -## Running in Production Mode -See [Install Elasticsearch with Docker](https://www.elastic.co/guide/en/elasticsearch/reference/6.x/docker.html) +You can also pass in additional flags to `elasticsearch`: +```console +$ docker run -d elasticsearch -Des.node.name="TestNode" +``` + +This image comes with a default set of configuration files for `elasticsearch`, but if you want to provide your own set of configuration files, you can do so via a volume mounted at `/usr/share/elasticsearch/config`: + +```console +$ docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch +``` + +This image is configured with a volume at `/usr/share/elasticsearch/data` to hold the persisted index data. Use that path if you would like to keep the data in a mounted volume: + +```console +$ docker run -d -v "$PWD/esdata":/usr/share/elasticsearch/data elasticsearch +``` + +This image includes `EXPOSE 9200 9300` ([default `http.port`](http://www.elastic.co/guide/en/elasticsearch/reference/1.5/modules-http.html)), so standard container linking will make it automatically available to the linked containers. + +## %%STACK%% + +Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:5601`, `http://localhost:5601`, or `http://host-ip:5601` (as appropriate). diff --git a/elasticsearch/github-repo b/elasticsearch/github-repo index d318bc510..181f18470 100644 --- a/elasticsearch/github-repo +++ b/elasticsearch/github-repo @@ -1 +1 @@ -https://github.com/elastic/elasticsearch +https://github.com/docker-library/elasticsearch diff --git a/elasticsearch/license.md b/elasticsearch/license.md index 7f2d2887a..1d728f2ae 100644 --- a/elasticsearch/license.md +++ b/elasticsearch/license.md @@ -1 +1 @@ -View [license information](https://github.com/elastic/elasticsearch/blob/6.4/licenses/ELASTIC-LICENSE.txt) for the software contained in this image. +View [license information](https://github.com/elasticsearch/elasticsearch/blob/66b5ed86f7adede8102cd4d979b9f4924e5bd837/LICENSE.txt) for the software contained in this image. diff --git a/elasticsearch/maintainer.md b/elasticsearch/maintainer.md deleted file mode 100644 index b656a395e..000000000 --- a/elasticsearch/maintainer.md +++ /dev/null @@ -1 +0,0 @@ -[the Elastic Product Team](%%GITHUB-REPO%%) \ No newline at end of file diff --git a/elasticsearch/maintainer.md b/elasticsearch/maintainer.md new file mode 120000 index 000000000..e727ff069 --- /dev/null +++ b/elasticsearch/maintainer.md @@ -0,0 +1 @@ +../.common-templates/maintainer-community.md \ No newline at end of file