Elasticsearch 6.3官方教程翻译系列(2.1):安装

原创 esjson 搜索引擎 2284

2. 设置 Elasticsearch

本节包含有关如何设置Elasticsearch并使其运行的信息,其中包括:

  • 下载
  • 安装
  • 开始
  • 配置

支持的平台

官方支持的操作系统和JVM的矩阵可在此处获得:支持矩阵
Elasticsearch在列出的平台上进行了测试,但它也可能在其他平台上运行。

java (jvm)版本

Elasticsearch是使用Java构建的,并且至少需要Java 8才能运行。只支持Oracle的Java和OpenJDK。
所有Elasticsearch节点和客户端都应该使用相同的JVM版本。

Elasticsearch将使用的Java版本可以通过设置JAVA_HOME环境变量进行配置。

2.1 安装Elasticsearch

Elasticsearch提供以下列软件包格式:

  • zip/tar.gz
    zip和tar.gz软件包适合安装在任何系统上,并且是在大多数系统上开始使用Elasticsearch的最简单选择。

  • deb
    Deb软件包适用于Debian,Ubuntu和其他基于Debian的系统。Debian软件包可以从Elasticsearch网站或从我们的Debian存储库下载。

  • rpm
    rpm包适合安装在Red Hat,Centos,SLES,OpenSuSE和其他基于RPM的系统上。RPM可以从Elasticsearch网站或从我们的RPM存储库下载。

  • msi
    msi软件包适用于安装至少安装了.NET 4.5框架的Windows 64位系统,并且是在Windows上开始使用Elasticsearch的最简单选择。
    MSI可以从Elasticsearch网站下载。

  • docker
    镜像可用于运行Elasticsearch作为Docker容器。
    它们可以从Elastic Docker Registry中下载。

  • 配置管理工具
    我们还提供以下配置管理工具来帮助大型部署:

  1. Puppet puppet-elasticsearch

  2. Chef cookbook-elasticsearch

  3. Ansible ansible-elasticsearch

2.1.1 使用.zip或.tar.gz安装Elasticsearch

Elasticsearch以.zip和.tar.gz包的形式提供。
这些软件包可用于在任何系统上安装Elasticsearch,并且是试用Elasticsearch时最简单的软件包格式。

注意:Elasticsearch需要Java 8或更高版本。
使用官方的Oracle发行版或OpenJDK等开源发行版。

2.1.1.1 下载并安装.zip软件包

Elasticsearch v6.3.0的.zip压缩文件可以下载并安装,如下所示:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.zip
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.zip.sha512 
shasum -a 512 -c elasticsearch-6.3.0.zip.sha512 
unzip elasticsearch-6.3.0.zip
cd elasticsearch-6.3.0/
  • shasum -a 512 -c elasticsearch-6.3.0.zip.sha512 比较下载的.zip压缩文件的SHA和发布的校验和的SHA,该校验和应输出elasticsearch- {version} .zip:OK。
  • elasticsearch-6.3.0/ 这个目录被称为$ ES_HOME。

或者,您可以下载以下软件包,该软件包仅包含Apache 2.0许可证下提供的功能:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.3.0.zip

2.1.1.2 下载并安装.tar.gz软件包

Elasticsearch v6.3.0的.tar.gz存档可以下载并安装,如下所示:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz.sha512
shasum -a 512 -c elasticsearch-6.3.0.tar.gz.sha512 
tar -xzf elasticsearch-6.3.0.tar.gz
cd elasticsearch-6.3.0/

或者,您可以下载以下软件包,其中仅包含Apache 2.0许可代码:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.3.0.tar.gz

2.1.1.3 启用自动创建X-Pack 索引

X-Pack将尝试在Elasticsearch中自动创建一些索引。
默认情况下,Elasticsearch配置为允许自动创建索引,不需要额外的步骤。
但是,如果您在Elasticsearch中禁用自动索引创建,则必须在elasticsearch.yml中配置action.auto_create_index以允许X-Pack创建以下索引:

action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

重要: 如果您使用的是Logstash或Beats,那么您的action.auto_create_index设置中很可能需要额外的索引名称,具体值取决于您的本地配置。
如果您不确定环境的正确值,则可以考虑将值设置为*,以便自动创建所有索引。

2.1.1.4 从命令行运行Elasticsearch

Elasticsearch可以从命令行启动,如下所示:

./bin/elasticsearch

默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),并可通过按Ctrl-C来停止。

注意: 与Elasticsearch打包在一起的所有脚本都需要一个支持数组的Bash版本,并假定Bash在/ bin / bash中可用。
因此,Bash应直接或通过符号链接在此路径上可用。

2.1.1.5 检查Elasticsearch是否正在运行

您可以通过向本地主机上的端口9200发送HTTP请求来测试您的Elasticsearch节点是否正在运行:

GET /

这应该给你一个这样的回应:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "6.3.0",
    "build_flavor" : "oss",
    "build_type" : "zip",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "7.3.1",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

可以使用命令行上的-q或—quiet选项禁用将日志打印到标准输出。

2.1.1.6 作为守护进程运行

要将Elasticsearch作为守护程序运行,请在命令行中指定-d,并使用-p选项将进程ID记录到文件中:

./bin/elasticsearch -d -p pid

日志消息可以在$ ES_HOME / logs /目录中找到。

要关闭Elasticsearch,请杀死记录在pid文件中的进程ID:

kill `cat pid`

注意: RPM和Debian软件包中提供的启动脚本负责为您启动和停止Elasticsearch过程。

2.1.1.7 在命令行配置Elasticsearch

Elasticsearch默认从$ ES_HOME / config / elasticsearch.yml文件加载其配置。
配置Elasticsearch中解释了此配置文件的格式。

任何可以在配置文件中指定的设置也可以在命令行上使用-E语法指定,如下所示:

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

提示: 通常,应将任何群集范围设置(如cluster.name)添加到elasticsearch.yml配置文件中,而可以在命令行中指定任何节点特定设置(如node.name)。

2.1.1.8 .zip和.tar.gz 包的目录布局

.zip和.tar.gz软件包完全独立。
默认情况下,所有文件和目录都包含在$ ES_HOME中 - 解压缩归档文件时创建的目录。

这非常方便,因为您不必创建任何目录来开始使用Elasticsearch,卸载Elasticsearch就像移除$ ES_HOME目录一样简单。
但是,建议更改config目录,数据目录和日志目录的默认位置,以便稍后不要删除重要数据。

类型 描述 默认位置 设置
home Elasticsearch主目录或$ ES_HOME 通过解压归档创建的目录
bin 二进制脚本包括elasticsearch启动节点和elasticsearch-plugin来安装插件
conf 配置文件包括elasticsearch.yml $ES_HOME/config ES_PATH_CONF
data 在节点上分配的每个索引/分片的数据文件的位置。可以容纳多个地点。 $ES_HOME/data path.data
logs 日志文件位置。 $ES_HOME/logs path.logs
plugins 插件文件的位置。每个插件都将包含在一个子目录中。 $ES_HOME/plugins
repo 共享文件系统存储库位置。可以容纳多个地点。文件系统存储库可以放置在此处指定的任何目录的任何子目录中。 未配置 path.repo
script 脚本文件的位置。 $ES_HOME/scripts path.scripts

2.1.1.9 下一步

您现在已经设置了一个测试Elasticsearch环境。
在您开始认真开发或使用Elasticsearch进行生产之前,您必须进行一些额外的设置:

  • 了解如何配置Elasticsearch。
  • 配置重要的Elasticsearch设置。
  • 配置重要的系统设置。

2.1.2 在Windows上使用.zip安装Elasticsearch

Elasticsearch可以使用.zip软件包安装在Windows上。这带有一个elasticsearch-service.bat命令,它将设置Elasticsearch作为服务运行。

提示:历史上Elasticsearch使用.zip压缩文件安装在Windows上。MSI安装程序包可用于为Windows提供最简单的入门体验。如果您愿意,您可以继续使用.zip方法。

2.1.2.1 下载并安装.zip软件包

从以下位置下载Elasticsearch v6.3.0的.zip存档:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.zip

或者,您可以下载以下软件包,该软件包仅包含Apache 2.0许可证下提供的功能:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.3.0.zip

使用您最喜欢的解压缩工具解压缩。
这将创建一个名为elasticsearch-6.3.0的文件夹,我们将其称为%ES_HOME%。
在终端窗口中,cd到%ES_HOME%目录,例如:

cd c:\elasticsearch-6.3.0

2.1.2.2 启用自动创建X-Pack 索引

X-Pack将尝试在Elasticsearch中自动创建一些索引。
默认情况下,Elasticsearch配置为允许自动创建索引,不需要额外的步骤。
但是,如果您在Elasticsearch中禁用自动索引创建,则必须在elasticsearch.yml中配置action.auto_create_index以允许X-Pack创建以下索引:

action.auto_create_index: .security,.monitoring,.watches,.triggered_watches,.watcher-history,.ml*

2.1.2.3 从命令行运行Elasticsearch

.\bin\elasticsearch.bat

默认情况下,Elasticsearch在前台运行,将其日志打印到STDOUT,并可以通过按Ctrl-C来停止。

2.1.2.4 在命令行上配置Elasticsearch

Elasticsearch默认从%ES_HOME%\ config \ elasticsearch.yml文件加载其配置。
配置Elasticsearch中解释了此配置文件的格式。
任何可以在配置文件中指定的设置也可以在命令行上使用-E语法指定,如下所示:

.\bin\elasticsearch.bat -Ecluster.name=my_cluster -Enode.name=node_1

注意:包含空格的值必须用引号括起来。
例如-Epath.logs =“C:\ My Logs \ logs”。

提示:通常,应将任何群集范围设置(如cluster.name)添加到elasticsearch.yml配置文件中,而可以在命令行中指定任何节点特定设置(如node.name)

2.1.2.5 检查Elasticsearch是否正在运行

GET /

这应该给你一个这样的回应:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "6.3.0",
    "build_flavor" : "oss",
    "build_type" : "zip",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "7.3.1",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

2.1.2.6 将Elasticsearch作为服务安装在Windows上

Elasticsearch可以作为一项服务安装在后台运行,或者在启动时自动启动,无需任何用户交互。
这可以通过bin \文件夹中的elasticsearch-service.bat脚本实现,该脚本允许您从命令行安装,删除,管理或配置服务,并可能启动和停止服务。

c:\elasticsearch-6.3.0\bin>elasticsearch-service.bat

Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

该脚本需要一个参数(要执行的命令),后跟一个可选的参数,指示服务ID(安装多个Elasticsearch服务时很有用)。

可用的命令是:

  • install 将Elasticsearch作为服务安装
  • remove 删除已安装的Elasticsearch服务(并在启动时停止服务)
  • start 启动Elasticsearch服务(如果已安装)
  • stop 停止Elasticsearch服务(如果启动)
  • manager 启动一个GUI来管理已安装的服务

该服务的名称和JAVA_HOME的值将在安装期间可用:

c:\elasticsearch-6.3.0\bin>elasticsearch-service.bat install
Installing service      :  "elasticsearch-service-x64"
Using JAVA_HOME (64-bit):  "c:\jvm\jdk1.8"
The service 'elasticsearch-service-x64' has been installed.

注意1:虽然JRE可用于Elasticsearch服务,但由于使用客户端VM(与为长时间运行的应用程序提供更好性能的服务器JVM相反),因此不鼓励使用它,并会发出警告。

注意2:应该将系统环境变量JAVA_HOME设置为您希望服务使用的JDK安装路径。
如果升级JDK,则不需要重新安装该服务,但必须将系统环境变量JAVA_HOME的值设置为新JDK安装的路径。
但是,不支持跨JVM类型(例如JRE和SE)进行升级,并且需要重新安装该服务。

2.1.2.7 定制服务设置

通过设置以下环境变量(使用命令行中的set命令或通过系统属性 - >环境变量GUI),可以在安装之前配置Elasticsearch服务。

  • SERVICE_ID 服务的唯一标识符。
    如果在同一台机器上安装多个实例很有用。
    默认为elasticsearch-service-x64。
  • SERVICE_USERNAME 用户运行为,默认为本地系统帐户。
  • SERVICE_PASSWORD 在%SERVICE_USERNAME%中指定的用户的密码。
  • SERVICE_DISPLAY_NAME 服务的名称。
    缺省为Elasticsearch <version>%SERVICE_ID%。
  • SERVICE_DESCRIPTION 服务的描述。
    默认为Elasticsearch <版本> Windows服务 - https://elastic.co。
  • JAVA_HOME 所需JVM的安装目录下运行该服务。
  • SERVICE_LOG_DIR 服务日志目录,默认为%ES_HOME%\ logs。
    请注意,这不会控制Elasticsearch日志的路径;
    这些路径是通过elasticsearch.yml配置文件中的设置path.logs或命令行设置的。
  • ES_PATH_CONF 配置文件目录(需要包含elasticsearch.yml,jvm.options和log4j2.properties文件)缺省为%ES_HOME%\ config。
  • ES_JAVA_OPTS 您可能想要应用的任何其他JVM系统属性。
  • ES_START_TYPE 服务的启动模式。
    可以是自动或手动(默认)。
  • ES_STOP_TIMEOUT procrun等待服务正常退出的超时时间(以秒为单位)。默认为0。

注意: 在其核心,elasticsearch-service.bat依靠Apache Commons Daemon项目来安装该服务。
在服务安装之前设置的环境变量将被复制并在服务生命周期中使用。
这意味着安装后对它们所做的任何更改都不会被取回,除非该服务被重新安装。

注意: 在Windows上,当从命令行运行Elasticsearch时,或者在首次将Elasticsearch作为服务安装时,可以针对其他Elasticsearch安装来配置堆大小。
要调整已安装服务的堆大小,请使用服务管理器:bin \ elasticsearch-service.bat管理器。

注意: 该服务会自动配置Elasticsearch在运行时使用的专用临时目录。此专用临时目录被配置为运行安装的用户的专用临时目录的子目录。如果该服务将在不同的用户下运行,则可以在执行服务安装之前,通过将环境变量ES_TMPDIR设置为首选位置来配置该服务应该使用的临时目录的位置。

使用管理器GUI

还可以使用管理器GUI(elasticsearch-service-mgr.exe)安装服务,该服务器提供对已安装服务的了解,包括其状态,启动类型,JVM,启动和停止设置等等
。只需从命令行调用elasticsearch-service.bat管理器将打开管理器窗口:
GUI

通过管理器GUI进行的大多数更改(如JVM设置)都需要重新启动服务才能生效。

2.1.3 用Debian软件包安装Elasticsearch(略过)

2.1.4 使用RPM安装Elasticsearch(略过)

2.1.5 使用Windows MSI安装程序安装Elasticsearch(TODO )

2.1.6 用Docker安装Elasticsearch

Elasticsearch也可用作Docker镜像。
图像使用centos:7作为基本图像。
所有发布的Docker镜像和标签列表可以在www.docker.elastic.co找到。源代码可以在GitHub上找到。

2.1.6.1 镜像类型

这些映像可以在Elastic许可下自由使用。

2.1.6.2 拉取镜像

获取Elasticsearch for Docker非常简单,只需发出针对Elastic Docker注册表的docker pull命令即可。

可以使用以下命令检索Docker映像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.0
docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.0

2.1.6.3 从命令行运行

开发模式

使用以下命令可以快速启动Elasticsearch以进行开发或测试:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.0
生产模式

重要:对于生产用途,vm.max_map_count内核设置需要至少设置为262144。取决于您的平台:

  • Linux 平台:
    vm.max_map_count配置应该在/etc/sysctl.conf中永久设置:

    $ grep vm.max_map_count /etc/sysctl.conf
    vm.max_map_count=262144
    

    要在实时系统类型上应用该设置:sysctl -w vm.max_map_count = 262144

  • Windows和MacOS与Docker Toolbox:vm.max_map_count设置必须通过docker-machine设置:

    docker-machine ssh
    sudo sysctl -w vm.max_map_count=262144
    

    以下示例显示包含两个Elasticsearch节点的集群。
    要启动集群,请使用docker-compose.yml并输入:

    docker-compose up
    

    注意:docker-compose不在Linux上预装Docker。
    可以在Docker Compose网页上找到安装它的说明。

当elasticsearch节点2在Docker网络上与elasticsearch节点1通讯的时候,elasticsearch节点1在localhost:9200上侦听。

这个例子还使用名为卷的名为esdata1和esdata2的Docker,如果它尚未存在,将会创建该卷。

docker-compose.yml:

version: '2.2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.3.0
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.3.0
    container_name: elasticsearch2
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata2:/usr/share/elasticsearch/data
    networks:
      - esnet

volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local

networks:
  esnet:

要停止集群,请输入docker-compose。
数据量将持续存在,因此可以使用docker-compose up再次使用相同的数据启动群集。
要销毁集群和数据卷,只需键入docker-compose down -v。

检查群集的状态
curl http://127.0.0.1:9200/_cat/health
1472225929 15:38:49 docker-cluster green 2 2 4 2 0 0 0 0 - 100.0%

日志消息转到控制台,由配置的Docker日志记录驱动程序处理。默认情况下,您可以使用docker日志访问日志。

2.1.6.4 用Docker配置Elasticsearch

Elasticsearch从/ usr / share / elasticsearch / config /下的文件加载它的配置。
配置Elasticsearch设置JVM选项中记录了这些配置文件。

该图像提供了几种用于配置Elasticsearch设置的方法,传统方法是提供定制文件,即elasticsearch.yml。也可以使用环境变量来设置选项:

A.通过Docker环境变量提供参数

例如,要使用docker run定义集群名称,可以传递-e“cluster.name = mynewclustername”。
双引号是必需的。

B.绑定装配配置

创建您的自定义配置文件并将其安装在图像的相应文件上。
例如,用docker运行绑定一个custom_elasticsearch.yml可以用下面的参数完成:

-v full_path_to/custom_elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

容器使用uid:gid 1000:1000作为用户elasticsearch运行Elasticsearch。
绑定安装的主机目录和文件(例如上面的custom_elasticsearch.yml)需要由该用户访问。
对于数据和日志目录,例如/ usr / share / elasticsearch / data,也需要写访问权限。
另请参阅下面的注1。

C.定制的镜像

在某些环境中,准备包含您的配置的自定义图像可能更有意义。
Dockerfile实现这一点可能很简单:

FROM docker.elastic.co/elasticsearch/elasticsearch:6.3.0
COPY --chown=elasticsearch:elasticsearch elasticsearch.yml /usr/share/elasticsearch/config/

然后,您可以使用以下内容构建并尝试图像:

docker build --tag=elasticsearch-custom .
docker run -ti -v /usr/share/elasticsearch/data elasticsearch-custom

一些插件需要额外的安全权限。
您必须通过在运行Docker映像时附加tty并在提示符下接受yes来明确接受它们,或者分别检查安全权限,并且如果您对它们感到满意,则将—batch标志添加到plugin install命令。
查看插件管理文档了解更多详情。

D.覆盖图像的默认CMD

通过覆盖图像的默认命令,可以将选项作为命令行选项传递给Elasticsearch进程。例如:

docker run <various parameters> bin/elasticsearch -Ecluster.name=mynewclustername

2.1.6.5 使用Elasticsearch Docker 镜像配置SSL / TLS

请参阅在Elasticsearch Docker映像中加密通信

2.1.6.6 生产使用注意事项和默认设置

我们收集了一些生产用途的最佳实践。下面提到的任何Docker参数都假设使用docker run。

  1. 默认情况下,Elasticsearch以使用uid:gid 1000:1000的用户elasticsearch的形式在容器内运行。

    Openshift是一个例外,它使用任意分配的用户ID来运行容器。
    Openshift将呈现持续卷,将gid设置为0,这将在没有任何调整的情况下工作。

如果绑定本地目录或文件,请确保该用户可读,而数据和日志目录另外需要写入权限。
一个好的策略是授予对本地目录的gid 1000或0的组访问权限。
作为一个例子,要准备一个本地目录来存储通过bind-mount的数据:

mkdir esdatadir
chmod g+rwx esdatadir
chgrp 1000 esdatadir

作为最后的手段,您还可以强制容器通过环境变量TAKE_FILE_OWNERSHIP来更改用于数据和日志文件的任何绑定挂载的所有权。
在这种情况下,它们将由uid:gid 1000:0拥有,并根据需要提供对Elasticsearch进程的读/写访问。

  1. 确保nofile和nproc可用于Elasticsearch容器的ulimits是非常重要的。验证Docker守护进程的init系统是否已经将这些值设置为可接受的值,并且如果需要,可以在守护进程中调整它们,或者使用docker run来覆盖每个容器。
--ulimit nofile=65536:65536

检查Docker守护程序默认为上述ulimits的一种方法是运行:

docker run --rm centos:7 /bin/bash -c 'ulimit -Hn && ulimit -Sn && ulimit -Hu && ulimit -Su'
  1. 为了性能和节点稳定性需要禁用交换。这可以通过Elasticsearch文档中提到的任何方法来实现。如果您选择bootstrap.memory_lock:true方法,除了通过任何配置方法定义之外,还需要memlock:true ulimit,或者在Docker Daemon中定义或专门为容器设置。
    这在docker-compose.yml中已经得到了证明。如果使用docker run:
-e "bootstrap.memory_lock=true" --ulimit memlock=-1:-1
  1. 镜像公开了TCP端口9200和9300.对于群集,建议使用—publish-all随机化发布的端口,除非您为每个主机固定一个容器。
  2. 使用ES_JAVA_OPTS环境变量设置堆大小。例如,要使用16GB,使用-e ES_JAVA_OPTS =“ - Xms16g -Xmx16g”用docker run 命令。
  3. 将您的部署固定到特定版本的Elasticsearch Docker镜像。例如,docker.elastic.co/elasticsearch/elasticsearch:6.3.0。
  4. 如生产示例中所示,始终使用绑定在/ usr / share / elasticsearch / data上的卷,原因如下:

a. 如果容器被杀死,您的elasticsearch节点的数据不会丢失

b. Elasticsearch对I / O敏感,而Docker存储驱动程序对于快速I / O并不理想

c. 它允许使用高级Docker卷插件

  1. 如果您正在使用devicemapper存储驱动程序,请确保您未使用默认的loop-lvm模式。将docker-engine配置为使用direct-lvm。
  2. 考虑通过使用不同的日志记录驱动程序来集中您的日志。
    另外请注意,默认的json文件日志记录驱动程序不适合生产使用。
Elasticsearch 教程 原创

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

关于我

过所爱的生活,爱所过的生活,快乐的生活,才能生活快乐,快乐的工作,才有快乐人生,生活的理想其实就是理想的生活!