带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(2)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(2)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.1.跨集群操作(1) https://developer.aliyun.com/article/1228852


跨集群搜索

 

跨集群搜索可以针对一个或多个远程集群,运行单个搜索请求。例如,我们可以使用跨集群搜索,来过滤和分析存储,在不同数据中心的集群中的日志数据。

 

在5.3.0之前的版本,Elastic 官方提供了 Tribe Node 实现多集群访问的解决方案。

 

Tribe Node是以 Client Node 的角色添加到集群中但是由于不保留集群的 meta 信息,每次重启需要重新加载初始化。因此,在5.3版本中 Elastic 官方提供了 CCS 的功能,允许集群中的任何节点可以联合查询。

 

快速入门

 

下面以两个集群的跨集群搜索为例。我们预先启动了两个集群:cluster1、cluster2,当前集群是 cluster1。现在的任务是联合远程访问的集群 cluter2 进行跨集群搜索。

 

我们分别在两个集群上动态配置 remote cluster。

 

注意:在 seeds 列表中填写的是集群节点间通信的 TCP 端口而不是 HTTP 端口。


PUT _cluster/settings
{
  "persistent": {
    "cluster": {
      "remote": {
        "cluster_one": {
          "seeds": [
            "192.168.2.2:9300"
          ]
        },
        "cluster_two": {
          "seeds": [
            "192.168.2.2:9500"
          ]
        }
      }
    }
  }
}

image.png

在 cluster1 中插入数据

 

PUT esfighttogether/_doc/1
{
  "teamname":"team 10"
}

在 cluster2 中插入数据


PUT esfighttogether/_doc/1
{
  "teamname":"team 1"
}
PUT esfighttogether/_doc/2
{
  "teamname":"team 7"
}

在两个集群上分别验证数据。因为写入时 Elasticsearch 自带的默认分词器会对数据进行分词,我们通过 team 就可以查询到所有数据。

 

查询语句如下:


GET esfighttogether/_search
{
  "query": {
    "match": {
      "teamname": "team"
    }
  }
}

执行跨集群搜索


GET cluster_one:esfighttogether,cluster_two:esfighttogether/_search?timeout=5m
{
  "query": {
    "match": {
      "teamname": "team"
    }
  }
}

image.png


如上图所示,通过 CCS 查询到 3 条数据:cluster_one 的一条数据 team 10 以及 cluster_

two 的两条数据 team 1 和 team 7,和之前写入的数据一致。

 

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.1.跨集群操作(3) https://developer.aliyun.com/article/1228850

 

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
安全 API 数据安全/隐私保护
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(2)
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(2)
121 0
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(2)
|
安全 应用服务中间件 网络安全
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(1)
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(1)
117 0
带你读《Elastic Stack 实战手册》之12:——3.4.1.5.配置集群安全访问(1)
|
API 数据中心 索引
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(3)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(3)
136 0
|
存储 人工智能 大数据
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(4)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(4)
|
运维 网络协议 API
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(1)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(1)
143 0
|
iOS开发 Docker MacOS
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(1)
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(1)
113 0
|
Kubernetes 监控 开发者
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(3)
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(3)
110 0
|
Kubernetes Docker 容器
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(2)
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(2)
110 0
|
Ubuntu 物联网 大数据
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(5)
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(5)
134 0
|
监控
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(4)
带你读《Elastic Stack 实战手册》之13:——3.4.1.6.配置多节点集群(4)
101 0