选择配置文件启动弹性集群
Choosing configuration file to start elastic cluster
我在一台机器上有一个双节点集群和一个配置文件 (elasticsearch.yml)。是否可以创建另一个 .yml-config 文件并使用不同的配置文件启动每个实例?例如,我希望 运行 同时在两个端口(localhost:9200 和 localhost:9201)上集群。
我找不到启动 elastic-cluster 的命令行 API(配置文件作为参数?)。
它必须超过命令 line.You 应该考虑安装两个配置为侦听两个不同端口的 elasticsearch 服务实例。
如果你在 ubuntu OS -
两个实例都可以有两个 init.d 脚本
1) 在 init.d 脚本中设置进程名称 运行 服务喜欢两个集群集 elasticsearch_node_1 和 elasticsearch_node_2
2)在同一个文件中,将两个初始化文件的日志、数据和配置文件的路径配置到两个单独的位置。
直到这里,您将在同一台机器上 运行ning 拥有两个服务
也许你不想 运行 实例作为 OS 服务那么我建议检查这个 link
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.1.yml
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.2.yml
3) 现在为初始化脚本指向的每个实例修改 elasticsearch.yml 文件。
将 http.port 更改为您想要 运行 您的实例所在的任何端口。
对于发现 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
您应该能够使用命令行中的 -Epath.conf
设置启动您的第二个 ES 实例,并指向您拥有第二个 elasticsearch.yml
配置文件的另一个文件夹
./bin/elasticsearch -Epath.conf=/path/to/my/second/config/
从 ES 6 版本开始基于相同 ES 安装启动多个实例的新方法是拥有多个配置文件夹并在启动执行前声明路径变量
ES_PATH_CONF=/apps/my-es/conf/node-1 ./elasticsearch
ES_PATH_CONF=/apps/my-es/conf/node-2 ./elasticsearch
作为守护进程启动包括 -d
和 -p <pidName>
用于定义 pid 名称
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 文档的参考:
https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
我在一台机器上有一个双节点集群和一个配置文件 (elasticsearch.yml)。是否可以创建另一个 .yml-config 文件并使用不同的配置文件启动每个实例?例如,我希望 运行 同时在两个端口(localhost:9200 和 localhost:9201)上集群。
我找不到启动 elastic-cluster 的命令行 API(配置文件作为参数?)。
它必须超过命令 line.You 应该考虑安装两个配置为侦听两个不同端口的 elasticsearch 服务实例。
如果你在 ubuntu OS - 两个实例都可以有两个 init.d 脚本 1) 在 init.d 脚本中设置进程名称 运行 服务喜欢两个集群集 elasticsearch_node_1 和 elasticsearch_node_2 2)在同一个文件中,将两个初始化文件的日志、数据和配置文件的路径配置到两个单独的位置。 直到这里,您将在同一台机器上 运行ning 拥有两个服务
也许你不想 运行 实例作为 OS 服务那么我建议检查这个 link
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.1.yml
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.2.yml
3) 现在为初始化脚本指向的每个实例修改 elasticsearch.yml 文件。 将 http.port 更改为您想要 运行 您的实例所在的任何端口。 对于发现 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
您应该能够使用命令行中的 -Epath.conf
设置启动您的第二个 ES 实例,并指向您拥有第二个 elasticsearch.yml
配置文件的另一个文件夹
./bin/elasticsearch -Epath.conf=/path/to/my/second/config/
从 ES 6 版本开始基于相同 ES 安装启动多个实例的新方法是拥有多个配置文件夹并在启动执行前声明路径变量
ES_PATH_CONF=/apps/my-es/conf/node-1 ./elasticsearch
ES_PATH_CONF=/apps/my-es/conf/node-2 ./elasticsearch
作为守护进程启动包括 -d
和 -p <pidName>
用于定义 pid 名称
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 文档的参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html