ELasticsearch 跨集群复制(CCR)

跨集群复制概述

CCR - Cross Cluster Replication - 跨集群复制是 Elasticsearch v6.5 发布的一个新的特性,这个特性可以让你将一个集群的索引数据同步复制到远程的另外一个集群上面去。或者反过来,将一个远程的集群的索引数据同步的复制到本地 Elasticsearch 集群中来。集群复制类似于数据订阅的方式,一个集群的数据可以被多个集群订阅,也就是可以被复制到多个集群上面去。CCR 有两个角色,一个是 Leader,表示数据的源头,另外一个Follower,表示数据的订阅方,得到的是数据副本。CCR 工作在索引层面,使用 Pull 的模式,Follower 索引主动的去 Pull Leader 的数据。

CCR在Elasticsearch 6.7和7.0版本正式发布GA版本.

这个特性是 Elasticsearch 的商业特性,需要白金订阅。

使用场景

很多公司的业务可能已经是遍布整个国家,甚至全球化。借助 CCR 刚好就可以解决下面的几个场景的问题:

  • 集群高可用以及灾难恢复
  • 实现数据的就近访问(地理)
  • 集中式的报告集群

CCR is perfect for a number of use cases, including cross data center replication for high availability or disaster recovery, data locality (keeping copies of data closer to users), and creating a dedicated, centralized analytics cluster populated by multiple source clusters.

第一个场景,关于保证 Elasticsearch 集群的高可用和灾难恢复,通过部署多套 Elasticsearch 集群,并且分布在不同地域的数据中心,然后接着 CCR,将数据做一个实时的同步,假如其中一个数据中心失联或者因为不可抗力的因素,如台风、地震,我们照样还能通过访问剩下的集群来获取完整的数据

第二个场景,数据的就近访问,假设是一个大集团,有总公司和分公司,通过按地理位置来划分分公司自己的业务集群,不同城市的业务数据可以使用各自的集群,这样能够更快的进行当地业务的处理,不过也有一些数据,可能是总公司下发的数据,各个分公司都只能读,比如一些元数据,我们借助 CCR,可以把这部分数据下发到各个分公司的 Elasticsearch 集群,这样每个分公司都能实时的获取到最新的数据,并且直接访问各自的本地集群就可以了,大大提升访问速度。

第三个场景  做集中式的报告分析,接上面的案例,我们反过来处理我们的业务数据,我们将每个分公司的业务数据实时的同步到总公司的 Elasticsearch 集群,这样总公司就有了每个分公司的完整数据,这样进行报告分析的时候,就可以直接的在总公司的 Elasticsearch 集群里面进行快速的可视化分析了。

Elasticsearch CCR 搭建步骤:

1.在本地集群和远程集群安装Elasticsearch (local and remote)

2.获取包含cross-cluster replication 功能的license,需要铂金版的Elasticsearch才支持。

3.若开启了Elasticsearch security 功能需要设置账号

--查询Elasticsearch的license:



--查看xpack的组件是否可用:
# curl -X GET "localhost:9200/_xpack/?pretty"
{
  "build" : {
    "hash" : "65b6179",
    "date" : "2019-05-15T20:07:59.571448Z"
  },
  "license" : null,
  "features" : {
    "ccr" : {
      "description" : "Cross Cluster Replication",
      "available" : true,
      "enabled" : true
    },
    "graph" : {
      "description" : "Graph Data Exploration for the Elastic Stack",
      "available" : true,
      "enabled" : true
    },
    "ilm" : {
      "description" : "Index lifecycle management for the Elastic Stack",
      "available" : true,
      "enabled" : true
    },
    "logstash" : {
      "description" : "Logstash management component for X-Pack",
      "available" : true,
      "enabled" : true
    },
    "ml" : {
      "description" : "Machine Learning for the Elastic Stack",
      "available" : true,
      "enabled" : true,
      "native_code_info" : {
        "version" : "6.8.0",
        "build_hash" : "e6cf25e2acc5ec"
      }
    },
    "monitoring" : {
      "description" : "Monitoring for the Elastic Stack",
      "available" : true,
      "enabled" : true
    },
    "rollup" : {
      "description" : "Time series pre-aggregation and rollup",
      "available" : true,
      "enabled" : true
    },
    "security" : {
      "description" : "Security for the Elastic Stack",
      "available" : true,
      "enabled" : false
    },
    "sql" : {
      "description" : "SQL access to Elasticsearch",
      "available" : true,
      "enabled" : true
    },
    "watcher" : {
      "description" : "Alerting, Notification and Automation for the Elastic Stack",
      "available" : true,
      "enabled" : true
    }
  },
  "tagline" : "You know, for X"
}

可以看到组件Cross Cluster Replication 可用并开启。

参考:

https://discuss.elastic.co/t/dec-22nd-2018-cn-elasticsearch-ccr/161626

https://www.elastic.co/guide/en/elastic-stack-overview/current/ccr-getting-started.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值