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

简介: 带你读《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

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
superbuy淘宝代购集运系统类似软件是哪家公司开发的?
superbuy淘宝代购集运系统类似软件是哪家公司开发的?
|
SQL Java 数据库连接
初识MyBatis(搭建MyBatis、简单增删改查、核心配置文件讲解及获取参数值)
初识MyBatis(搭建MyBatis、简单增删改查、核心配置文件讲解及获取参数值)
347 0
|
负载均衡 监控 NoSQL
Redis系列(三):深入解读Redis主从同步机制(上)
Redis系列(三):深入解读Redis主从同步机制
|
设计模式 缓存
二十三种设计模式全面解析-代理模式(Proxy Pattern)详解:探索隐藏于背后的力量
二十三种设计模式全面解析-代理模式(Proxy Pattern)详解:探索隐藏于背后的力量
835 1
|
Java 数据挖掘 数据库连接
Java使用直接内存的好处
综上所述,Java直接内存的使用为开发者提供了一种绕过JVM堆限制、直接高效操作内存资源的途径,特别适用于高吞吐量、低延迟和大规模数据处理的场景。虽然直接内存的使用需要更精细的管理以避免内存泄漏和过度消耗系统资源,但恰当的利用能够显著提升应用的性能表现,是现代高性能Java应用不可或缺的工具之一。
196 2
|
11月前
|
Ubuntu Linux PHP
PHP8报:Unable to load dynamic library ‘zip.so’ 错误
通过上述步骤,可以解决PHP 8中“Unable to load dynamic library ‘zip.so’”错误。确保正确安装和配置 `zip`扩展,并验证其是否正确加载,可以有效避免和解决此类问题。
435 16
|
消息中间件 Java 数据库连接
Java 反射最全详解 ,框架设计必掌握!
本文详细解析Java反射机制,包括反射的概念、用途、实现原理及应用场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 反射最全详解 ,框架设计必掌握!
|
消息中间件 存储 负载均衡
两个实验让我彻底弄懂了「订阅关系一致」
这篇文章,笔者想聊聊 RocketMQ 最佳实践之一:**保证订阅关系一致**。 订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。 如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。
两个实验让我彻底弄懂了「订阅关系一致」
|
安全 Linux Android开发
Linux CFI (Control-flow integrity)技术相关资料汇总
Linux CFI (Control-flow integrity)技术相关资料汇总

热门文章

最新文章