首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法在一个主机中部署不同的Elasticsearch集群来演示跨集群搜索?

是否有一种方法在一个主机中部署不同的Elasticsearch集群来演示跨集群搜索?
EN

Stack Overflow用户
提问于 2020-10-15 12:24:58
回答 1查看 216关注 0票数 2

我有3个不同的Elasticsearch容器(我将在下一个命令run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.9.2中部署它们)

我想将它们作为3个集群使用,每个集群中有一个节点。之后,我将其中的两个定义为一个集群的远程集群(端口9200是“主”,9201 9202是远程的)。为了定义它,我使用:

代码语言:javascript
复制
cluster:
    remote:
        cluster_one: 
            seeds: 127.0.0.1:9201
        cluster_two: 
            seeds: 127.0.0.1:9202

我试着搜索

代码语言:javascript
复制
GET /cluster_one:twitter/_search
{
  "query": {
    "match": {
      "user": "kimchy"
    }
  }
}

但它不起作用,我认为它与我定义集群的方式有关,但我没有发现我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 09:37:53

文档告诉我们:

代码语言:javascript
复制
Cross-cluster search and cross-cluster replication require the remote_cluster_client role.

此外,远程集群页面告诉我们

代码语言:javascript
复制
role: By default, any non-master-eligible node can act as a gateway node. Dedicated master nodes are never selected as gateway nodes.

由于默认情况下,所有节点都具有角色masterdata,因此没有节点可以充当网关节点,跨集群操作无法工作。

我有一个正在工作的那里

静态远程集群定义需要在以下集群中使用env变量(如我在提供的示例中所做的)或elasticsearch.yml对每个节点执行。

您需要匹配的url是承载网关节点的码头服务的url。

端口需要匹配远程节点的运输港

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64371522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档