您的位置 首页 > 腾讯云社区

Elasticsearch 跨集群搜索配置 CCS---南非骆驼漫谈ELK Stack

前言-水平扩展的痛点

ES天生就是一个分布式架构,同时也支持横向水平扩展。但是,集群节点不可能无限增加。因为,当集群meta信息(节点,索引,集群状态)过多,会导致集群更新压力变大,单个Active Master会成为性能瓶颈,导致整个集群无法正常工作。因此,ES官方推出了一个跨集群搜索的功能(Cross Cluster Search),我们今天就来一探究竟。

一、跨集群搜索案例

要执行跨集群搜索,必须至少配置一个远程集群。在每一个集群中都需要如下配置:

1,使用 cluster.remote 属性

2, 种子(seeds)是远程集群中的节点列表,用于在注册远程集群时检索集群状态

案例所需条件:

2个ES集群、kibana安装<自行安装>

网络互通:同VPC

拓扑如下:

跨级群CCS拓扑

集群1、集群2信息,如下:

集群1集群2

接下来进行配置,我们在cluser1也就是端口地址为 5601 的 Kibana,我们打开输入如下命令:

配置集群远程属性

我们可以使用GET _remote/info查看CSS的连接状态,如下:

查看集群信息

同样,把上面的配置在cluster2上再去执行一次。有几个集群就执行几次此命令。那么这样,一个CSS集群就这样配置完成了。

二、使用跨集群搜索

首先,我们在集群1上写入点数据,注意kibana端口是5601如下:

集群1插入数据

其次:我们去集群2上,搜索是否能拿到集群1上的数据呢?注意看kibana端口8080,如下:

使用API GET remote_cluster:twitter/_search

跨级群搜索结论:

从上面我们可以看出来,我们可以对位于 cluster1 的 twitter 索引进行搜索。

当然,如果查询多个集群多个数据的话,可以使用下面的API

GET /users,cluster_name:index,cluster_name:index/_search

三、kibana探索远程集群数据

同样,我们可以在kibana配置探索数据的方式去实现远程集群的数据本地展示的结果,如下:

kibana配置远程集群实现数据探索kibana数据展示

因为我们默认的 index 是 remote_cluster: kibana_sample_data_flights,所以我们的 Discover 默认的情况先显示的是所有关于位于 cluster_1 上的 kibana_sample_data_flights 索引数据。我们可以在 cluster_2 对这些数据进行分析。非常方便。

四,总结

通过跨级群配置,我们实现了多个ES集群之间的数据的探索、管理。大大的解决了单集群水平扩展能力不足的问题。那么这就是ES CCS。

---来自腾讯云社区的---南非骆驼漫谈ELK Stack

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: