当前位置:   article > 正文

二、设置ELastSearch_elatiscsearch java环境变量设置

elatiscsearch java环境变量设置

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

下载      安装     开始     配置

支持平台:这里提供了官方支持的操作系统和jvm的矩阵:支持矩阵Elasticsearch在列出的平台上进行了测试,但它也可能在其他平台上工作。

Java版本(JVM):Elasticsearch是用Java构建的,运行时至少需要Java 8。只支持Oracle的Java和OpenJDK。所有Elasticsearch节点和客户机都应该使用相同的JVM版本。我们建议在Java 8发布系列中安装Java版本1.8.0_131或更高版本。我们建议使用支持的LTS Java版本。如果使用了已知的糟糕的Java版本,Elasticsearch将拒绝启动。Elasticsearch将使用的Java版本可以通过设置JAVA_HOME环境变量进行配置。

1、安装ELasticSearch

ELasticSearch主机:Elasticsearch可以在您自己的硬件上运行,也可以在Elastic Cloud上使用我们托管的Elasticsearch服务,在AWS和GCP上可用。您可以免费试用托管服务。Elasticsearch可以在您自己的硬件上运行,也可以在Elastic Cloud上使用我们托管的Elasticsearch服务,在AWS和GCP上可用。您可以免费试用托管服务。

自己安装ELasticSearch:Elasticsearch的包格式如下:

(1)zip / tar.gz:zip and tar.gz包适合安装在任何系统上,是在大多数系统上开始Elasticsearch的最简单的选择。

(2)deb:deb包适用于Debian、Ubuntu和其他基于Debian的系统。Debian软件包可以从Elasticsearch网站或Debian资源库下载。

(3)rpm:rpm软件包适用于安装在Red Hat、Centos、SLES、OpenSuSE和其他基于rpm的系统上。RPM可以从Elasticsearch网站或RPM资源库下载。

(4)msi:msi包适合安装在Windows 64位系统上,至少安装.net 4.5框架,是在Windows上启动Elasticsearch的最简单的选择。MSIs可以从Elasticsearch网站下载。

(5)Docker:可以将图像作为Docker容器运行Elasticsearch。它们可以从弹性Docker注册表下载。

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

(1)Puppet   (2)Chef   (3)Ansible

2、配置Elasticsearched:Elasticsearch附带默认值并且只需要很少的配置。在运行中的集群上,可以使用集群更新设置API更改大多数设置。配置文件应该包含特定于节点的设置(例如节点.name和路径),或者节点为了能够加入集群而需要的设置,例如cluster.name和network.host。

配置文件位置

配置Elasticsearch的elasticsearch.yml

配置Elasticsearch JVM设置的jvm.options

配置Elasticsearch日志记录的log4j2.properties

这些文件位于config目录中,其默认位置取决于安装是否来自存档发行版(tar.gz或zip)或包分发(Debian或RPM包)。对于存档发行版,配置目录位置默认为$ES_HOME/config。配置目录的位置可以通过ES_PATH_CONF环境变量来更改,如下所示:

ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch

或者,您可以通过命令行或shell配置文件导出ES_PATH_CONF环境变量。对于包发行版,配置目录位置默认为/etc/elasticsearch。配置目录的位置也可以通过ES_PATH_CONF环境变量来更改,但是请注意,在shell中设置这个位置是不够的。相反,这个变量来自/etc/default/elasticsearch(用于Debian包)和/etc/sysconfig/elasticsearch(用于RPM包)。您需要在其中一个文件中编辑ES_PATH_CONF=/etc/elasticsearch条目,以相应地更改配置目录位置。

配置文件格式:配置格式是YAML。下面是一个更改数据和日志目录路径的示例:

path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch

设置也可以平化如下:

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

环境变量替换:配置文件中使用${...}符号引用的环境变量将被替换为环境变量的值,例如:

node.name:    ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}

提示设置:注意:不赞成提示设置。请对敏感属性值使用安全设置。并不是所有设置都可以转换为使用安全设置。

对于不希望存储在配置文件中的设置,可以使用值${prompt.secret}或${prompt.text}并在前台启动Elasticsearch。${prompt.secret}已经禁用了echo,因此输入的值将不会显示在您的终端;${prompt.text}将允许您在输入时查看值。例如:

node:
  name: ${prompt.text}

当启动Elasticsearch时,会提示您输入实际值如下所示:

Enter value for [node.name]:

请注意:如果在设置中使用${prompt.secret}或${prompt.text},并且流程作为服务或在后台运行,Elasticsearch将不会启动。

(1)设置JVM选项

您很少需要更改Java虚拟机(JVM)选项。如果这样做,最可能的更改是设置堆大小。本文的其余部分将详细解释如何设置JVM选项。设置JVM选项(包括系统属性和JVM标志)的首选方法是通过jvm.options配置文件。这个文件的默认位置是config/jvmjvm.options(从tar或zip发行版安装时)或者/etc/elasticsearch/jvm.options(从Debian或RPM包安装时)。

这个文件包含一个行分隔的JVM参数列表,它遵循一个特殊的语法:

* 只包含空格的行被忽略

* 以#开头的行被视为注释并被忽略:                          # this is a comment

以 - 开头的行被视为独立于JVM版本应用的JVM选项:        -Xmx2g

以数字后跟:和 - 开头的行被视为JVM选项,只有当JVM的版本与这个数字匹配时才适用:            8:-Xmx2g

 以数字开头的行后跟 - 和:被视为JVM选项,只有当JVM版本大于或等于这个数字时才适用:           8-:-Xmx2g

 以数字开头后面跟着  -   数字 :的行被视为JVM选项,只有当JVM的版本在这两个数字的范围内时才适用:   8-9:-Xmx2g

 所有其他行都被拒绝

您可以向该文件添加自定义JVM标志,并将此配置检查到版本控制系统中。设置Java虚拟机选项的另一种机制是通过ES_JAVA_OPTS环境变量。例如:

export ES_JAVA_OPTS="$ES_JAVA_OPTS -Djava.io.tmpdir=/path/to/temp/dir"
./bin/elasticsearch

当使用RPM或Debian包时,可以在系统配置文件中指定ES_JAVA_OPTS。JVM有一个用于观察JAVA_TOOL_OPTIONS环境变量的内置机制。在打包脚本中,我们故意忽略了这个环境变量。主要原因是在一些操作系统(例如Ubuntu)上,通过这个环境变量默认安装了一些代理,我们不想干扰Elasticsearch。另外,一些其他Java程序支持JAVA_OPTS环境变量。这不是JVM中内置的机制,而是生态系统中的约定。但是,我们不支持这个环境变量,是通过jvm.options文件或环境变量ES_JAVA_OPTS来设置JVM选项。

 

 

(2)安全设置

(3)日志配置

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/543448
推荐阅读
相关标签
  

闽ICP备14008679号