elasticsearch - 如何在一台机器上启动多个 ElasticSearch 节点

标签 elasticsearch

我尝试使用以下命令用一台机器和一个集群器(仅在本地主机上 - 测试目的)启动每个节点:

sudo /usr/share/elasticsearch/bin/elasticsearch
 -Des.node.data=false 
 -Des.node.master=true 
 -Des.node.name=NoData --default.path.conf=/etc/elasticsearch/

但是,我什至无法启动一个节点,因为即使在启动第一个节点时我也会不断收到此错误:
> Exception in thread "main" java.lang.RuntimeException: don't run
> elasticsearch as root.    at
> org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
>   at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
>   at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)   at
> org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
> Refer to the log for complete error details. 

如何在一台机器上启动多个 ES 节点?

(ES 是从 ES 的官方 deb repo 安装的)

编辑
我想像下面那样运行它
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.1.yml
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.2.yml
$ bin/elasticsearch -Des.config=$ES_HOME/config/elasticsearch.testNoData.yml

但有两个问题
  • 由于上述原因,它不起作用。
  • 还是不确定这 3 个 yml 文件中应该包含什么?
  • 最佳答案

    如果要启动多个节点进行测试,我强烈建议使用 esvm tool .

    该工具专门设计用于针对在一个或多个节点上运行的不同 ES 版本快速测试您的代码。例如,您可以使用 this configuration file 非常轻松地启动一个 5 节点集群(2 个主节点 + 3 个数据节点)。 :

    {
      "clusters": {
        "2m3d": {
          "plugins": ["mobz/elasticsearch-head"],
          "nodes": [
            {
              "cluster": { "name": "2m3d" },
              "node": { "name": "master-1", "data": false, "master": true }
            },
            {
              "cluster": { "name": "2m3d" },
              "node": { "name": "master-2", "data": false, "master": true }
            },
            {
              "cluster": { "name": "2m3d" },
              "node": { "name": "data-1", "data": true, "master": false }
            },
            {
              "cluster": { "name": "2m3d" },
              "node": { "name": "data-2", "data": true, "master": false }
            },
            {
              "cluster": { "name": "2m3d" },
              "node": { "name": "data-3", "data": true, "master": false }
            }
          ]
        }
      }
    }
    

    上面的集群可以通过运行非常简单地启动
    > esvm 2m3d
    

    关于elasticsearch - 如何在一台机器上启动多个 ElasticSearch 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38814876/

    相关文章:

    elasticsearch - 如何在ElasticSearch中从父子获取子记录?

    elasticsearch - 定制分析器,用例:邮政编码[ElasticSearch]

    spring - 使用Spring Data ElasticSearch 3.0.0.BUILD-SNAPSHOT和Elasticsearch 5.4.0的错误分页

    curl - 如何在Logstash中将事件标记为 “Looked At”

    node.js - 在 Node.js 中构建 "Filter Proxy"

    elasticsearch - Elasticsearch日期直方图查询

    .net - 如何使用 NEST 客户端将 Elasticsearch 配置为使用 AutoMap 类型作为动态映射对象的默认模板?

    spring-boot - 如何在发现选项卡中获取日志中提供的字段的字段

    r - 使用模板通过R查询ElasticSearch

    docker - 如何使用 docker swarm 部署 elasticsearch?