3

我在一臺機器上有一個雙節點集羣,並且有一個配置文件(elasticsearch.yml)。是否可以創建另一個.yml-config文件並使用不同的配置文件啓動每個實例?例如,我想同時在兩個端口(localhost:9200和localhost:9201)上運行羣集。選擇配置文件啓動彈性集羣

我找不到用於啓動彈性羣集(config-file作爲參數?)的命令行API。

回答

6

您應該可以開始你的第二個ES實例與點的命令行-Epath.conf設置,並在那裏你有你的第二個elasticsearch.yml配置文件

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

它必須超過命令行。您應該看看安裝兩個配置爲在兩個不同端口偵聽的elasticsearch服務實例。

如果你是在Ubuntu操作系統 - 可以有兩個的init.d腳本兩個兩個實例 1)在的init.d腳本設置運行像兩個集elasticsearch_node_1服務過程的名稱和elasticsearch_node_2 2)在同一個文件中,將日誌,數據和配置文件的路徑配置爲兩個init文件的兩個獨立位置。 ,直到在這裏你會在同一臺機器上運行兩個服務

也許你不希望運行的實例作爲OS服務的話,我建議您查看此鏈接

Two nodes on same machine

$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.1.yml 
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.2.yml 

3)現在修改init腳本指向的每個實例的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 
+0

對不起另一個文件夾,但是這是過時的信息。僅供參考,您不能在同一個config.dir中爲elasticsearch添加多個配置文件。 –

+0

-Des.config方法不再工作。 – aquartier