一、背景
生产环境由于某些原因需要跨机房迁移ES集群,或者同机房原有集群中所有节点全部更换,期间ES索引要求完整,客户端请求中断不超过五分钟。 二、应用场景
1、同机房不同集群之间数据迁移;
2、跨机房不同集群之间数据迁移。 三、迁移方案
A机房ES集群 --> B机房ES集群

1、迁移任务:假设A机房ES集群(3master、3data共三台物理机)迁移到B机房ES集群(3master、3data共三台物理机);
2、迁移思路:通过集群扩容的方式加入B机房ES节点,通过缩容的方式去掉A机房节点,始终保持一个集群原则,分片在集群内部进行迁移,集群及索引配置不更改,对业务友好;
3、对业务影响: 迁移期间有两次集群master重选举环节,选举期间ES集群对外不可用,每次选举时长不超过2分钟;
4、迁移步骤:
  1.在A机房ES集群扩容3master、3data节点,新节点使用首鸣的物理机,观察新增的3master、3data全部加入到A机房ES集群,此时B机房3master、3data和A机房3master、3data共同组成1个6master、6data节点的跨机房集群;
      discovery.zen.ping.unicast.hosts: ["bjsm_master1:tcp_port","bjsm_master2:tcp_port","bjsm_master3:tcp_port","bjdz_master1:tcp_port","bjdz_master2:tcp_port","bjdz_master3:tcp_port" ]    配置首鸣、大族共6个master节点     2.在集群内部迁移A机房data节点上的分片到B机房的data节点上,此时集群中所有数据分片都在B机房的data节点上;
      执行RESTful API迁移分片: curl -H 'Content-Type:application/json' -XPUT 'http://bjsm_master1:http_port/_cluster/settings' -d'{"transient" : {"cluster.routing.allocation.exclude._ip" : "IP"}}'     3.更改ES客户端配置文件中“data.elasticsearch.cluster-nodes”,去掉A机房的节点配置,改成B机房的master节点(tcp端口),然后客户端实例灰度重启并生效配置;     4.下线A机房的3个data节点,再下线A机房的两个副master节点,最后下线A机房的主master节点,此时集群会进入master节点重新选举,且新的主master节点一定会在B机房的3个master节点中产生,此时集群会有短暂的不可访问(两分钟左右);     5.去掉B机房master、data节点配置文件中的大族节点配置,逐个重启data节点,再重启副master节点,最后重启主master节点(集群会有最长两分钟的不可访问时间)后全部生效,等待ES集群再次恢复;
      discovery.zen.ping.unicast.hosts: ["bjsm_master1:tcp_port","bjsm_master2:tcp_port","bjsm_master3:tcp_port" ]   只留B机房的3个master节点     6.B机房的客户端访问均正常后,下线A机房的3个master、3个data节点,此时整个迁移任务完毕。

ES:在线迁移集群索引,数据不丢失的更多相关文章

  1. elasticsearch5.0集群大数据量迁移方法及注意事项

    当es集群的数据量较小的情况下elasticdump这个工具比较方便,但是当数据量达到一定级别比如上百G的时候,elasticdump速度就很慢了,此时我们可以使用快照的方法进行备份 elasticd ...

  2. 实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原

    文/朱季谦 目录 一.Elasticdump工具介绍 二.Elasticdump工具安装 三.Elasticdump工具使用 最近在开发当中做了一些涉及到Elasticsearch映射结构及数据导出导 ...

  3. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...

  4. 软件架构自学笔记----分享“去哪儿 Hadoop 集群 Federation 数据拷贝优化”

    去哪儿 Hadoop 集群 Federation 数据拷贝优化 背景 去哪儿 Hadoop 集群随着去哪儿网的发展一直在优化改进,基本保证了业务数据存储量和计算量爆发式增长下的存储服务质量.然而,随着 ...

  5. 使用 Velero 跨云平台迁移集群资源到 TKE

    概述 Velero 是一个非常强大的开源工具,可以安全地备份和还原,执行灾难恢复以及迁移Kubernetes群集资源和持久卷,可以在 TKE 平台上使用 Velero 备份.还原和迁移集群资源,关于如 ...

  6. Redis 切片集群的数据倾斜分析

    Redis 中如何应对数据倾斜 什么是数据倾斜 数据量倾斜 bigkey导致倾斜 Slot分配不均衡导致倾斜 Hash Tag导致倾斜 数据访问倾斜 如何发现 Hot Key Hot Key 如何解决 ...

  7. 本地日志数据实时接入到hadoop集群的数据接入方案

    1. 概述 本手册主要介绍了,一个将传统数据接入到Hadoop集群的数据接入方案和实施方法.供数据接入和集群运维人员参考. 1.1.  整体方案 Flume作为日志收集工具,监控一个文件目录或者一个文 ...

  8. 02使用java脚本向Pxc集群写入数据

    使用java脚本向Pxc集群写入数据 批量写入pxc集群程序 导入mysql驱动包 # 批量插入数据的java脚本 package pxc_demo; import java.sql.Connecti ...

  9. Hadoop基础-HDFS集群中大数据开发常用的命令总结

    Hadoop基础-HDFS集群中大数据开发常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本盘博客仅仅列出了我们在实际生成环境中常用的hdfs命令,如果想要了解更多, ...

随机推荐

  1. 长沙中考2019数学T25讲解

    好久没更Blog了... 为了应付完成寒假作业,还是更一下(再不更都庚子年了) Upd:2020.1.22 题目 第一问 还是比较水友好的 给顶点就相当于多给了对称轴-\(\frac{b}{2a}\) ...

  2. Kubernetes系列二: 使用kubeadm安装k8s环境

    环境 三台主机,一台master,两台node 作为master 作为node节点 作为node节点 每台主机Centos版本使用 CentOS Linux release 7.6.1810 (Cor ...

  3. Opencv笔记(七)——访问与操作像素

    一.获取矩阵的元素 1.获取三维矩阵img[i,j]处的元素 (b,g,r) = image[i,j],image大小为:MxNxK. 2.获取三维矩阵的子矩阵的全部元素 newimage = ima ...

  4. Java复习(一)——Java语言概述、开发环境、基础知识

    设计模式:在各种应用系统中被大量应用,是设计的“常用套路” 作为Java WEB开发人员,需要掌握HTML/CSS/JS和数据库相关知识 常用的应用程序框架:Spring MVC,Spring Boo ...

  5. 搭建solr8

    这里记录linux上的安装过程 一.下载安装包 https://lucene.apache.org/solr/downloads.html 二.解压安装 这里我放倒了/usr/local/solr目录 ...

  6. P2486 [SDOI2011]染色 区间合并+树链剖分(加深对线段树的理解)

    #include<bits/stdc++.h> using namespace std; ; struct node{ int l,r,cnt,lazy; node(,,,):l(l1), ...

  7. LGOJ3975 TJOI2015 弦论

    link:TJOI2015 弦论 题目大意: 给定一个字符串,输出在对该字符串所有的非空子串排序后第\(k\)个 另外的一个限制是\(T\):子串本质相同但位置不同算\(1\)或多个 \(|s| \l ...

  8. ORs-3-OR Gene Family Phylogeny

    OR Gene Family Phylogeny 1.之前关于ORs基因构建系统生发树的研究中的不足:bootstrap support values在有些family中高,bootstrap sup ...

  9. Ubuntu 12.04 搭建TFTP服务器

    吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...

  10. 安装rpm包时遇到error: Failed dependencies:错误

    在linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: ............................................. ...