elasticsearch 选择配置文件启动弹性集群,elasticsearch,yaml,cluster-computing,command-line-arguments,elasticsearch,Yaml,Cluster Computing,Command Line Arguments" /> elasticsearch 选择配置文件启动弹性集群,elasticsearch,yaml,cluster-computing,command-line-arguments,elasticsearch,Yaml,Cluster Computing,Command Line Arguments" />

elasticsearch 选择配置文件启动弹性集群

elasticsearch 选择配置文件启动弹性集群,elasticsearch,yaml,cluster-computing,command-line-arguments,elasticsearch,Yaml,Cluster Computing,Command Line Arguments,我在一台机器上有两个节点集群和一个配置文件(elasticsearch.yml)。是否可以创建另一个.yml配置文件并使用不同的配置文件启动每个实例?例如,我希望同时在两个端口(localhost:9200和localhost:9201)上运行集群 我找不到启动elastic群集的命令行API(配置文件作为参数?)。它必须不止是命令行。您应该看看安装两个配置为在两个不同端口侦听的elasticsearch服务实例 如果你在ubuntu操作系统上- 两个实例都可以有两个init.d脚本 1) 在i

我在一台机器上有两个节点集群和一个配置文件(elasticsearch.yml)。是否可以创建另一个.yml配置文件并使用不同的配置文件启动每个实例?例如,我希望同时在两个端口(localhost:9200和localhost:9201)上运行集群


我找不到启动elastic群集的命令行API(配置文件作为参数?)。

它必须不止是命令行。您应该看看安装两个配置为在两个不同端口侦听的elasticsearch服务实例

如果你在ubuntu操作系统上- 两个实例都可以有两个init.d脚本 1) 在init.d脚本中,设置运行服务的进程的名称,如两个集群集elasticsearch_node_1和elasticsearch_node_2 2) 在同一个文件中,为两个init文件将日志、数据和配置文件的路径配置到两个不同的位置。 在此之前,您将在同一台机器上运行两个服务

也许您不想将实例作为操作系统服务运行,那么我建议检查此链接

3) 现在修改init脚本指向的每个实例的elasticsearch.yml文件。 将http.port更改为要在其上运行实例的任何端口。 对于discovery,host1和host2将是相同的,只是您必须为每个实例将端口更改为另一个节点,并相应地为每个实例设置path.data和path.logs

http.port: 9200
discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
path.data: /path/to/data
path.logs: /path/to/logs

您应该能够使用命令行上的设置启动第二个ES实例,并指向另一个文件夹,其中有第二个
elasticsearch.yml
配置文件

./bin/elasticsearch -Epath.conf=/path/to/my/second/config/

从ES 6版本开始,基于同一ES安装启动多个实例的较新方法是在启动执行之前拥有多个配置文件夹并声明path变量

ES_PATH_CONF=/apps/my-es/conf/node-1 ./elasticsearch
ES_PATH_CONF=/apps/my-es/conf/node-2 ./elasticsearch
要作为守护进程启动,包括定义pid名称的
-d
-p

ES_PATH_CONF=/apps/my-es/conf/node-1 ./elasticsearch -d -p es_node1_pid
ES_PATH_CONF=/apps/my-es/conf/node-2 ./elasticsearch -d -p es_node2_pid
以下是ES文档的参考:

对不起,这是过时的信息。仅供参考,对于elasticsearch,您不能在同一config.dir中再放置多个配置文件。这在最新的ES 7.x上不起作用-您需要设置
ES_PATH_CONF
环境变量。
ES_PATH_CONF=/apps/my-es/conf/node-1 ./elasticsearch -d -p es_node1_pid
ES_PATH_CONF=/apps/my-es/conf/node-2 ./elasticsearch -d -p es_node2_pid