一、背景

  • 有一个已经在A机器建立的100+G的es索引数据文件,需要将这份数据文件直接复制到B机器的elasticsearch中
  • B机器的节点是在一个集群中,有多个数据节点。
  • 没有原始数据,不重新构建新的索引。
  • 节点数据存放在es源文件的data文件夹中,索引数据存放目录结构依次为:/data/集群名/nodes/0/indices/索引名/分片数据,分片数据就是我们要移植的数据本体
  • 这个索引数据之前只在一个es上使用且出于写入速度考虑,只设置了分片,未设置副本
  • 要求能在B中识别和检索出这个索引

    要复制的文件如下:

二、步骤

1、如果当前elasticsearch是以集群形式存在,只保留要数据所在的elasticsearch数据节点,其余数据节点关闭。

  • 例如:集群中有3台ip分别为192.168.2.1 ; 192.168.2.2 ; 192.168.2.3的数据节点机器,我们要往192.168.2.1的es中直接复制数据文件,先将.2和.3的es关闭。
  • 原因: 直接复制索引数据有时不会被识别出来,而当集群中有多个数据节点时,未被识别出来的分片数据仍旧会被分散到各个节点中,这样如果出现复制后索引未正确识别的情况,仍能从一个es中拿回完整的索引数据。
  • 保留所有数据节点直接复制个人有成功也有失败,但是一旦失败切片分布在各个机器会很难处理。

2、创建一个空白的,不设置mapping的索引

例如:

# 要复制过来的数据文件中本身就包含mapping,不需要再次设置。
settings = {
'settings':
{
"number_of_shards": 5, # 分片数量
"number_of_replicas": 0, # 副本数量
"max_result_window": 10000000, # 一次es查询的数量上限
"track_total_hits": True, # 设置数量上限需要的参数
}
}
if es.indices.exists(index_name):
print(u"%s 已存在" % index_name)
else:
es.indices.create(index=index_name, body=settings)

3、保证要复制索引的集群只有一个数据节点。若当前运行为一个小集群,关停其他集群,只运行分片数据所在的es

  • 分片直接复制不一定百分百被索引识别,在没有数据交互的情况下,各个分片不会被修改
  • 只保留一个数据节点能保证要复制的切片全在一台机器上,防止出错切片转移到别的节点导致不完整或者让重建索引变难

4、复制索引数据文件

  • 找到第2步建立的索引的数据存放位置/data/集群名/nodes/0/indices/索引名/,删除原来的文件
  • 复制目标数据

5、重启es,查看索引数据是否被识别

  • 用elasticsearch-head查看
  • http://ip:port/_cat/indices?v&pretty看每个索引的docs.count

elasticsearch 索引数据手动复制注意事项的更多相关文章

  1. elasticsearch 索引数据多了怎么办,如何调优,部署 ?

    面试官:想了解大数据量的运维能力. 解答:索引数据的规划,应在前期做好规划,正所谓"设计先行,编码在后", 这样才能有效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户 ...

  2. elasticsearch 索引数据多了怎么办,如何调优,部署 ?

    解答:索引数据的规划,应在前期做好规划,正所谓"设计先行,编码在后", 这样才能有效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户 检索或者其他业务受到影响. 如何调优 ...

  3. Heka–>Elasticsearch 索引数据过程的优化

    Heka 的参数配置跟Elasticsearch的参数没有关系,Heka只负责按照配置发送数据,所以索引的优化主要在 Elaticsearch端来完成. 下面是Elasticsearch的一些相关概念 ...

  4. java代码实现搜索elasticsearch索引数据

    1.关于获取客户端以及增删改操作请看上一篇文章,文章中有详细的讲解 2.本篇文章讲述关于elasticsearch搜索匹配方式,主要有 match.match_phrase.term.regexp.w ...

  5. 使用SQL语句查询Elasticsearch索引数据

    Elasticsearch 的官方查询语言是 Query DSL,存在毕竟有存在的道理,存在即合理.SQL 作为一个数据库查询语言,它语法简洁,书写方便而且大部分服务端程序员都清楚了解和熟知它的写法. ...

  6. 第六篇 elasticsearch express 删除索引数据

    express 框架删除elasticsearch索引数据 1.在elasticsearch.js文件下添加 function deleteDocument(id) { return elasticC ...

  7. 如何通过倾斜摄影数据手动配置s3c索引文件?

    如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...

  8. Elasticsearch 之 数据索引

    对于提供全文检索的工具来说,索引时一个关键的过程——只有通过索引操作,才能对数据进行分析存储.创建倒排索引,从而让使用者查询到相关的信息. 本篇就ES的数据索引操作相关的内容展开: 更多内容参考:El ...

  9. ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程

    目录 1 Lucene操作document的流程 1.1 添加document的流程 1.2 删除document的流程 2 优化写入流程 - 实现近实时搜索 2.1 流程的改进思路 2.2 设置re ...

  10. 用elasticsearch索引mongodb数据

    参照网页:单机搭建elasticsearch和mongodb的river 三个步骤: 一,搭建单机replicSet二,安装mongodb-river插件三,创建meta,验证使用 第一步,搭建单机m ...

随机推荐

  1. uniapp input框聚焦时软键盘弹起整个页面上滑,固定页面不让上滑问题

    根据需求,软键盘弹起时,不允许页面整体向上滑动 用到的属性是:  :adjust-position="false" uni-app 软键盘顶起底部fixed定位的输入框 页面就不会 ...

  2. JavaScript:对象:如何复制一个对象?浅拷贝与深拷贝

    回顾一下,我们对传参的讨论,对象的传参是引用传递,我们传递的是对象数据所在的内存地址: 那么无论我们怎么去赋值,所有变量指向的都是同一块内存: 如上图所示,无论我去使用哪个变量去操作对象的属性,改变的 ...

  3. python实现单向循环链表与双向链表

    目录 单向循环链表 操作 实现 双向链表 操作 实现 单向循环链表 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点. 操作 is_empty() 判 ...

  4. 为什么网络I/O会被阻塞?

    摘要:I/O 其实就是 input 和 output 的缩写,即输入/输出. 本文分享自华为云社区<为啥网络IO会被阻塞呢>,作者: 龙哥手记. 我们应该都知道 socket(套接字),你 ...

  5. Vue 中 Promise 的then方法异步使用及async/await 异步使用总结

    转载请注明出处: 1.Promise 的 then 方法使用 then 方法是 Promise 中 处理的是异步调用,异步调用是非阻塞式的,在调用的时候并不知道它什么时候结束,也就不会等到他返回一个有 ...

  6. [LeetCode]二进制求和

    题目 代码 class Solution { public: string addBinary(string a, string b) { int lenA = a.length(); int len ...

  7. 2.PyQt5【窗口组件】对话框-Dialog

    一.前言 QDialog 类是对话框窗口的基类.对话框窗口是主要用于短期任务以及和用户进行简要 通讯的顶级窗口.QDialog 可以是模态对话框也可以是非模态对话框.QDialog 支持扩展性并 且可 ...

  8. 广工Anyview【DC02PE97】解析

    前言 由于是出成绩后一段时间写的,已经有点遗忘当时遇到的情况,同时该代码不是最优解,需要精简代码的同学可以想想办法解决奇偶长度和有时候头结点不为空的问题,这样就可以极大程度上解决我这个代码的冗余. 题 ...

  9. C語言成績分析系統

    C語言成績分析系統,可以實現七個功能.(使用的編譯器是 code::blocks) 主要實現對於學生信息的輸入 顯示輸入學生的信息 根據期末成績來進行排名. 查找某個學生的信息 刪除某個學生的信息 修 ...

  10. 药物警戒系统与EDI/Gateway/AS2

    药物警戒学在美国.日本.欧盟诸国等国家已经有数十年的历史,药物警戒的作用越来越收到各国监管部门的重视.随着我国药监管理政策的革新,药物警戒在药物研发.药品上市后监管领域的作用也越来越重要. 国外有两款 ...