一、背景

  • 有一个已经在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. paozhu c++ web framework 框架原理

    paozhu c++ web framework 框架原理 paozhu c++ web framework 使用 asio 网络库,如果用动态库方式还要boost库. paozhu框架 使用两个线程 ...

  2. conan环境安装

    环境 安装conan 使用conan 搜索包 导入包 编译 打包项目 准备源码 编译成conan包 环境 ubuntu:bionic的docker image docker run -it ubunt ...

  3. 【Redis场景2】缓存更新策略(双写一致)

    在业务初始阶段,流量很少的情况下,通过直接操作数据是可行的操作,但是随着业务量的增长,用户的访问量也随之增加,在该阶段自然需要使用一些手段(缓存)来减轻数据库的压力:所谓遇事不决,那就加一层. 在当前 ...

  4. TS学习笔记

    类型 类型 例子 描述 number 1,2,-2 任意数字 string 'hi',"hi" 任意字符串 boolean true,false 布尔值或者true false 字 ...

  5. CH9126常见问题解决(持续更新)

    1. 有关CH9126时区的问题 答:当CH9126作为SNTP服务器的时候,通过串口设置的时间为东八(北京)时区的绝对时间.但是如果是Windows向CH9126SNTP服务器要时间,那么Ch912 ...

  6. [seaborn] seaborn学习笔记6-热图HEATMAPPLOT

    6 热图Heatmapplot(代码下载) 热图是指通过将矩阵单个的值表示为颜色的图形表示.热力图显示数值数据的一般视图非常有用,制作热图很简单,且不需要提取特定数据点.在seaborn中使用heat ...

  7. Python实现k-近邻算法案例学习

    一.介绍 你好,我是悦创. 博客首发:https://bornforthis.cn/column/Machine-learning/informal-essay/01.html 本文是由给私教学员 c ...

  8. JS实现excel数据透析,形成关系图

    网上查了好多例子,都没有找到答案,只能自己硬着头皮写了 想要的样子: 下面是DEMO,已经实现效果了!!!! 举例  导入 <!DOCTYPE html> <html lang=&q ...

  9. 百万级数据excel导出功能如何实现?

    前言 最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了. 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助. 原始需求:用户在U ...

  10. Android IO 框架 Okio 的实现原理,到底哪里 OK?

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触 ...