配置Elasticsearch

Elasticsearch可以在默认配置和一点点自定配置下就运行良好, 大部分的设置可以在运行中的集群上通过集群更新设置API来设置.

https://www.elastic.co/guide/en/elasticsearch/reference/6.2/cluster-update-settings.html

配置文件应该包含指定节点的配置(node.name和path), 或是加点加入的集群, 比如cluster.name和network.host.

配置文件位置

Elasticsearch有3个配置文件

  • elasticsearch.yml 来配置Elasticsearch
  • jvm.options 来配置Elasticsearch的JVM参数
  • log4j2.properties 来配置Elasticsearch的日志

这些文件在config文件夹下, 具体位置取决于安装包类型.

对于归档文件, 默认文件夹是 $ES_HOME/config. 你有可以通过ES_PATH_CONF来修改这个位置

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

你也可以导出ES_PATH_CONF变量或修改你的shell profile.

对于包安装文件, 默认位置在/etc/elasticsearch. 修改/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.text}或者${prompt.secret}这样的格式. 并且前台启动Elasticsearch, 这样Elasticsearch就会提示你输入配置信息.

例如在配置文件里这样写:

node:
  name: ${prompt.text}

然后在你启动Elasticsearch的时候会有如下提示信息, 让你输入相应的配置:

Enter value for [node.name]:

如果配置没有被使用, 或者是后台启动Elasticsearch, 那么Elasticsearch就不会启动.

results matching ""

    No results matching ""