ES索引备份

#!/usr/bin/env python
# -*- coding:utf-8 -*-"""
/**************************************************************
**************************************************************/
获取ES中所有的文档数据
filename data_es.py
python3
"""import sys
import json
import requests# Python 3 默认字符串类型已经是Unicode,不需要设置默认编码host = "10.233.54.21"
port = 9200def dump_es_ids(scroll_name, scroll_id):"""循环发送请求获取所有es:return:"""url = f"http://{host}:{port}/_search/scroll"data = {"scroll": scroll_name,"scroll_id": scroll_id}header = {"Content-Type": "application/json"}response = requests.post(url, json=data, headers=header)response.raise_for_status()  # 检查HTTP请求是否成功return response.json()def get_scroll(size, scroll_name, index):"""获取第一批数据和scroll:return:"""url = f"http://{host}:{port}/{index}/_search?scroll={scroll_name}"data = {"size": size,"query": {"match_all": {}}}header = {"Content-Type": "application/json"}response = requests.post(url, json=data, headers=header)response.raise_for_status()  # 检查HTTP请求是否成功return response.json()def has_more(result_obj, index):"""查看是否还有更多数据:param result_obj::return:"""try:obj_list = result_obj["hits"]["hits"]if len(obj_list) > 0:print(f"[INFO] index {index} has more data")return Trueelse:return Falseexcept Exception as e:print(f"[ERROR] got error {e}")return Falsedef get_id_list(result_obj):"""从结果集中获取id列表:param result_obj::return:"""obj_list = result_obj["hits"]["hits"]id_list = [item["_source"] for item in obj_list]return id_listdef main():"""获取文档的所有id:return:"""index = sys.argv[1]out_file = sys.argv[2]scroll_name = "5m"size = 1000scroll_obj = get_scroll(size, scroll_name, index)scroll_id = scroll_obj["_scroll_id"]print(f"[INFO] scroll_id is {scroll_id}")result_obj = scroll_objcounter = 0with open(out_file, "w") as out:while has_more(result_obj, index):counter += len(result_obj["hits"]["hits"])result_obj_list = get_id_list(result_obj)print(f"[INFO] index {index} get data length {len(result_obj_list)}")result_obj = dump_es_ids(scroll_name, scroll_id)print(f"[INFO] index {index} list total length {len(result_obj_list)}")print(f"[INFO] index {index} now total logs {counter}")for obj in result_obj_list:out.write(f"{json.dumps(obj, ensure_ascii=False)}\n")if __name__ == '__main__':main()
host = "10.92.204.60" # 修改成对应elasticsearch-master svc的IP   ,  port = 9200
# 找到svc
kubectl get svc -n mpks | grep elasticsearch# 先查看全文索引(导出的索引需要跟rd和drd确认)
curl http://ELASTICSEARCH_MASTER_IP:9200/_cat/indices | grep "fulltext" 备份执行  curl http://10.233.54.21:9200/_cat/indices | grep "fulltext" | awk -F" " '{if($7>0)print $3}'|awk '{print "touch ",$1," && python3 data_es.py ",$1," ",$1 }' |bash

常见问题:未找到request库
# 方式1pip install request -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

#方式2  去官网下载https://pypi.org/project/requests/#files 然后到解压后的目录去执行:

python setup.py install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode HOT 100】详细题解之二叉树篇

【LeetCode HOT 100】详细题解之二叉树篇 94 二叉树的中序遍历方法一:递归方法二:迭代 104 二叉树的最大深度方法一:递归方法二:迭代 226 翻转二叉树方法一:递归方法二:迭代 101 对称二叉树方法一&#xff…

iview Form Input组件按下回车键搜索和禁止触发表单默认事件

在进行表单搜索功能开发的过程中&#xff0c;经常会有这样的需求&#xff0c;要求Input输入完成以后&#xff0c;按下回车键进行查询。实现这个功能只需要在Input组件上增加keyup.enter事件即可 代码如下&#xff1a; <Input v-model"searchWords" keyup.enter&q…

小程序-使用npm包

目录 Vant Weapp 安装 Vant 组件库 使用 Vant 组件 定制全局主题样式 API Promise化 1. 基于回调函数的异步 API 的缺点 2. 什么是 API Promise 化 3. 实现 API Promise 化 4.调用 Promise 化之后的异步 API 小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经…

Java 之深入理解 String、StringBuilder、StringBuffer

前言 由于发现 String、StringBuilder、StringBuffer 面试的时候会经常问到&#xff0c;这里就顺便总结一下&#xff1a;本文重点会以这三个字符串类的性能、线程安全、存储结构这三个方面进行分析 ✨上期回顾&#xff1a;Java 哈希表 ✨目录 前言 String 介绍 String 的不可变…

全局安装cnpm并设置其使用淘宝镜像的仓库地址(地址最新版)

npm、cnpm和pnpm基本概念 首先介绍一下npm和cnpm是什么&#xff0c;顺便说一下pnpm。 npm npm&#xff08;Node Package Manager&#xff09;是Node.js的默认包管理器&#xff0c;用于安装、管理和分享JavaScript代码包。它是全球最大的开源库生态系统之一&#xff0c;提供了数…

如何使用ssm实现基于HTML的中国传统面食介绍网站的搭建+vue

TOC ssm758基于HTML的中国传统面食介绍网站的搭建vue 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔…

微服务SpringGateway解析部署使用全流程

官网地址&#xff1a; Spring Cloud Gateway 目录 1、SpringGateway简介 1、什么是网关 2、为什么用网关【为了转发】 2、应用&#xff1a; 1.启动nacos 2.创建网关项目 3.网关配置1 4.网关配置2【了解】 5.过滤器配置【了解】 1、SpringGateway简介 核心功能有三个&…

docker export/import 和 docker save/load 的区别

Docker export/import 和 docker save/load 都是用于容器和镜像的备份和迁移&#xff0c;但它们有一些关键的区别&#xff1a; docker export/import: export 作用于容器&#xff0c;import 创建镜像导出的是容器的文件系统&#xff0c;不包含镜像的元数据丢失了镜像的层级结构…

Webpack模式-Resolve-本地服务器

目录 ResolveMode配置搭本地服务器区分环境配置 Resolve 前面学习时使用了各种各样的模块依赖&#xff0c;这些模块可能来自于自己编写的代码&#xff0c;也可能来自第三方库&#xff0c;在 Webpack 中&#xff0c;resolve 是用于解析模块依赖的配置项&#xff0c;它决定了 We…

每日OJ题_牛客_DP13[NOIP2002 普及组]过河卒_路径dp_C++_Java

目录 牛客_DP13[NOIP2002 普及组]过河卒_路径dp 题目解析 C代码1 C代码2 Java代码 牛客_DP13[NOIP2002 普及组]过河卒_路径dp [NOIP2002 普及组] 过河卒_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a; 棋盘上 A点有一个过河卒&#xff0c;需要走到目标 B点。卒行走的…

业务封装与映射 -- 业务映射路径

为什么需要封装映射 OTN网络客户业务种类繁多&#xff08;例如SDH、以太网、视频&#xff09;&#xff0c;且业务大小不一&#xff08;例如STM-1、STM-4、STM-16&#xff09;&#xff0c;为了便于传输、管理客户业务&#xff0c;保证设备间互联互通&#xff0c;ITU-T定义了OTN接…

《深度学习》OpenCV 角点检测、特征提取SIFT 原理及案例解析

目录 一、角点检测 1、什么是角点检测 2、检测流程 1&#xff09;输入图像 2&#xff09;图像预处理 3&#xff09;特征提取 4&#xff09;角点检测 5&#xff09;角点定位和标记 6&#xff09;角点筛选或后处理&#xff08;可选&#xff09; 7&#xff09;输出结果 3、邻域…

2024最新国内镜像源设置(npm、yarn、pnpm)

淘宝镜像源https://registry.npmmirror.com/ 腾讯云镜像源https://mirrors.cloud.tencent.com/npm/ cnpm是一个基于npm的中国镜像源https://r.cnpmjs.org/ # 查询当前使用的镜像源 npm get registry# 设置为淘宝镜像源 npm config set registry https://registry.npmmirror.co…

物联网智能项目全面解析

目录 引言 一、物联网概述 1.1 什么是物联网 1.2 物联网的历史与发展 二、物联网智能项目分类 三、关键组件与技术 3.1 传感器和执行器 3.2 连接技术 3.3 数据处理与分析 3.4 用户界面 四、物联网智能项目案例分析 4.1 智能家居 4.2 智慧城市 4.3 工业物联网 4.4…

前端编程艺术(2)----CSS

目录 1.CSS 2.CSS引入 3.选择器 1.标签选择器 2.类选择器 3.id选择器 4.属性选择器 5.后代选择器 5.直接子元素选择器 6.伪类选择器 链接相关 动态伪类 结构化伪类 否定伪类 其他伪类 UI元素状态伪类 4.字体 1.font-family 2.font-size 3.font-style 4.fo…

【分布式微服务云原生】探索微服务架构下的服务治理

一、引言 随着业务需求的不断膨胀和技术的迅速迭代&#xff0c;单体应用逐渐暴露出其可扩展性和灵活性的局限性。微服务架构应运而生&#xff0c;通过将大型复杂系统拆分成一组小而专注的服务来提升系统的敏捷性和可维护性。然而&#xff0c;服务数量的增加也带来了新的挑战&a…

追梦无Bug的软件世界

追梦无Bug的软件世界&#xff1a;测试人员的视角与探索 我有一个梦想&#xff0c;今天我们共同承载着一个愿景&#xff1a;创造一个没有Bug的软件世界。 我梦想有一天&#xff0c;用户将享受到完全无Bug的软件体验&#xff0c;用户不再因为软件中的Bug而感到困扰和沮丧。 我梦…

进入xwindows后挂起键盘鼠标没有响应@FreeBSD

问题&#xff1a; 在升级pkg包后&#xff0c;系统无法进入xfce等xwindows&#xff0c;表现为黑屏和看见鼠标&#xff0c;左上角有一个白字符块&#xff0c;键盘鼠标没有反应&#xff0c;整个系统卡住。但是可以ssh登录&#xff0c;内部的服务一切正常。 表现 处理过程&#xf…

C++之多线程

前言 多线程和多进程是并发编程的两个核心概念,它们在现代计算中都非常重要,尤其是在需要处理大量数据、提高程序性能和响应能力的场景中。 多线程的重要性: 资源利用率:多线程可以在单个进程中同时执行多个任务,这可以更有效地利用CPU资源,特别是在多核处理器上。 性…

奔驰EQS450suv升级增强AR抬头显示HUD案例分享

以下是奔驰 EQS450 SUV 升级增强版 AR 抬头显示的一般改装案例步骤及相关信息&#xff1a; 配件&#xff1a;通常包括显示屏、仪表模块、饰板等。 安装步骤&#xff1a; 1. 拆下中控的仪表。 2. 在仪表上预留位置切割出合适的孔位&#xff0c;用于安装显示器。 3. 将显示器…