Docker部署ES服务,全量同步的时候内存爆炸,ES自动关闭,CPU100%
问题
使用canal-adapter全量同步(参考Canal Adapter1.1.5版本API操作服务,手动同步数据(4))的时候
- 小批量数据可以正常运行(几千条)
- 只要数据量一大(上万条),就会内存、CPU双线爆炸,ES自动被docker关闭。
数据量大的时候系统负荷如下所示(用宝塔监控)

docker stats监控如下所示,很快其他容器全都变成--,完全无法提供服务

解决方案
参考Docker部署ES(增加内存限制启动)
最关键的一句话:启动的时候按照如下参数启动。必须得先设置single-node单节点模式,然后设置ES_JAVA_OPTS="-Xms64m -Xmx512m" 才会成功。
docker run -d --name limit_es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
ES_JAVA_OPTS的意思是设置ES中Java虚拟机环境的上下限
discovery.type=single-node是单节点模式的意思。和集群有关的配置可以参考ElasticSearch 设置-配置(一)发现和集群形成设置
-
discovery.seed_hosts:提供集群中符合主节点条件的节点列表。也可以是以逗号分隔的单个字符串。每个节点都是host:port或者host格式。host是由DNS解析出来的任意主机名称。IPV6必须用方括号括起来。如果一个主机名通过DNS解析出来多个地址,ElasticSearch会使用所有被解析出来的地址。
-
discovery.seed_providers:指定种子主机提供程序的类型来获取用于启动发现进程的种子节点的地址。默认情况下,它是基于设置的种子主机提供程序,它从 discovery.seed_hosts 设置中获取种子节点地址。此设置以前称为 discovery.zen.hosts_provider。
-
discovery.type:指定 Elasticsearch 是否应形成多节点集群。默认情况下,Elasticsearch 在形成集群时会发现其他节点,并允许其他节点稍后加入集群。如果discovery.type 设置为single-node,Elasticsearch 会形成一个单节点集群并不支持cluster.publish.timeout 设置的超时。
-
cluster.initial_master_nodes:设置全新群集中符合条件的主节点的初始集。默认情况下,此列表为空,表示此节点希望加入已引导的集群。请参阅cluster.initial_master_nodes。
解决结果
内存占用显著小了很多,并且可以直接同步大批量数据

相关文章:
Docker部署ES服务,全量同步的时候内存爆炸,ES自动关闭,CPU100%
问题 使用canal-adapter全量同步(参考Canal Adapter1.1.5版本API操作服务,手动同步数据(4))的时候 小批量数据可以正常运行(几千条)只要数据量一大(上万条),…...
Python——添加照片边框
原图: 添加边框后: 添加边框会读取照片的exif信息如时间、相机型号、品牌以及快门焦段等信息,将他们显示在下面的边框中。 获取当前py文件路径 import os #get path that py file located def Get_Currentpath():file_path os.path.abspa…...
《高性能MySQL》——查询性能优化(笔记)
文章目录 六、查询性能优化6.1 查询为什么会慢6.2 慢查询基础:优化数据访问6.2.1 是否向数据库请求了不需要的数据查询不需要的记录多表关联时返回全部列总是取出全部列重复查询相同的数据 6.2.2 MySQL 是否在扫描额外的记录响应时间扫描的行数与返回的行数扫描的行…...
【Linux操作系统】编译过程中遇到的问题-为什么加-c?执行文件提示无法执行二进制文件?main函数参数argc和*argv[]的作用和理解?
在使用GCC编译器进行程序开发时,我们经常会遇到一些编译过程中的问题, 比如为什么要加上"-c"选项,以及为什么生成的可执行文件无法执行等问题。 本篇博客将详细介绍这些问题,并给出相应的代码和解释,帮助读者…...
【数据结构与算法——TypeScript】图结构(Graph)
【数据结构与算法——TypeScript】 图结构(Graph) 认识图结构以及特性 什么是图? 在计算机程序设计中,图结构 也是一种非常常见的数据结构。 但是,图论其实是一个非常大的话题 认识一下关于图的一些内容 图的抽象数据类型一些算法实现。 什么是图?…...
C语言字符串拷贝函数详解及示例代码
目录 简介字符串拷贝函数 strcpy字符串拷贝函数 strcpy_s使用示例注意事项结束语 1. 简介 字符串拷贝是C语言中常用的操作之一。当需要将一个字符串复制到另一个字符串数组中时,可以使用字符串拷贝函数来实现。C语言提供了多种字符串拷贝函数,其中最常…...
IntelliJ IDEA热部署:JRebel插件的安装与使用
热部署 概述JRebel 概述 热部署,指修改代码后,无需停止应用程序,即可使修改后的代码生效,其有利于提高开发效率。 热部署方式: 手动热部署:修改代码后,重新编译项目,然后启动应用程…...
iTOP-3568开发板使用OpenCV处理图像-颜色转换
本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程 \04_OpenCV 开发配套资料\05”目录下,如下图所示: cv2.cvtColor()函数功能: 将一幅图像从一个色彩空间转换到另一个色彩空间。 函数原型: cv2.cvt…...
Python技巧----解压序列/可迭代对象赋值给多个变量
1 、解压序列赋值给多个变量 我们这里说的不是正常情况的一一赋值比如下面 >>> data = [ ACME, 5, 9, (2012, 12, 1) ] >>> name, shares, price, date = data >>> name ACME...
16.3.2 【Linux】程序的管理
程序之间是可以互相控制的。举例来说,你可以关闭、重新启动服务器软件,服务器软件本身是个程序, 你既然可以让她关闭或启动,当然就是可以控制该程序。 使用kill-l或者是man 7 signal可以查询到有多少个signal。主要的讯号代号与名…...
Linux命令200例:date用于显示和设置系统的日期和时间
🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...
excel入门
上下左右移动 enter:换行,向下移动 shiftenter:向上移动 tab:向右移动 shifttab:向左移动 合并居中操作 开始-》合并居中 CtrlM 内容过长盖过了下一个单元格内容 双击列与列之间线 同时修改多行或者多列宽度或者高度 修改单行高度宽度 选中某一行拉取指定高…...
单模光纤模场强度分布以及高斯近似的MATLAB仿真
已知纤芯半径5um,数值孔径NA 0.1,波长 用波长和数值孔径计算归一化常数V 之前我们在单模光纤特征方程及其MATLAB数值求解中,用线性关系拟合过V和W,这里直接用拟合结果 U用V和W计算 clc clear close alla 5e-6;%纤芯半径 NA …...
Springboot 在 redis 中使用 BloomFilter 布隆过滤器机制
一、导入SpringBoot依赖 在pom.xml文件中,引入Spring Boot和Redis相关依赖 <!-- Google Guava 使用google的guava布隆过滤器实现--><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><vers…...
什么是管理的本质?
管理不是一门硬科学。与(通常)存在正确答案的化学或代数不同,管理是流动的,主观的,并且对于如何运用其原理存在不同的观点。但究竟什么是管理?大多数学者都有相同定义的变体,包括利用资源来实现…...
02:STM32--EXTI外部中断
目录 一:中断 1:简历 2:AFIO 3:EXTI 编辑 4:NVIC基本结构 5:使用步骤 二:中断的应用 A:对外式红外传感计数器 1:连接图编辑 2:函数介绍 3:硬件介绍 4:计数代码 B;旋转编码计数器 1:连接图 2:硬件介绍 3:旋转编码器代码: 一:中断 1:简历 中断:在主程…...
CLickhouse核心特性
目录 CLickhouse核心特性 1 完备的DBMS功能 2 列式存储与数据压缩 3 向量化执行引擎 4 关系模型与SQL查询 5 多样化的表引擎 6 多线程与分布式 7 多主架构 8 在线查询 9 数据分片与分布式查询 Clickhouse适用场景 Clickhouse不适用场景 Clickhouse名称含义 CLickh…...
如何运用小程序技术闭环运营链路?
如何通过线上小程序获取用户线索,提高企业抗风险能力,建立有效的营销数字化系统一直是困扰每一个小程序开发者与运营者的问题。 当我们选择使用小程序设计自己的运营流程时,从「推广」到「转化」,再到最终的「留存」都是运营过程…...
使用chatGPT-4 畅聊量子物理学(二)
Omer 量子力学的主导哲学或模型或解释是什么? ChatGPT 量子力学是一门描述微观世界中粒子行为的物理学理论,但它的解释和哲学观点在学术界存在多种不同的观点和争议。以下是几种主要的哲学观点或解释: 哥本哈根解释:这是最为广泛…...
读《Flask Web开发实战》(狼书)笔记 | 第1、2章
前言 2023-8-11 以前对网站开发萌生了想法,又有些急于求成,在B站照着视频敲了一个基于flask的博客系统。但对于程序的代码难免有些囫囵吞枣,存在许多模糊或不太理解的地方,只会照葫芦画瓢。 而当自己想开发一个什么网站的时&…...
STM32开发库对比:寄存器、SPL、HAL与LL深度解析
1. STM32开发库全景解析:从寄存器到HAL/LL的深度对比从事嵌入式开发这些年,我见证了STM32生态系统的快速演进。记得刚接触STM32F103时,标准外设库还是主流选择,如今Cube生态已成标配。本文将结合我的实际项目经验,详细…...
前后端分离大创管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
摘要 随着信息技术的快速发展,高校创新创业项目(大创)管理逐渐向数字化、智能化方向转型。传统的管理模式依赖纸质文档和人工操作,效率低下且容易出错,难以满足日益增长的项目申报、评审和进度跟踪需求。大创管理系统旨…...
云原生应用的可观测性最佳实践
云原生应用的可观测性最佳实践 🔥 硬核开场 各位技术老铁,今天咱们聊聊云原生应用的可观测性最佳实践。别跟我扯那些理论,直接上干货!在云原生时代,可观测性是系统可靠性的关键,它能帮助我们全面了解系统…...
终极魔兽争霸3性能优化指南:从卡顿到180帧的完整解决方案
终极魔兽争霸3性能优化指南:从卡顿到180帧的完整解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为经典RTS游戏&#…...
边缘检测数据集BSDS500的‘坑’与优化:多标注者标签融合与阈值选择的经验谈
边缘检测数据集BSDS500的‘坑’与优化:多标注者标签融合与阈值选择的经验谈 第一次接触BSDS500数据集时,我以为这不过又是一个标准的边缘检测基准——直到我的RCF网络在验证集上输出了支离破碎的边缘图。那个深夜调试参数的场景至今记忆犹新:…...
2026最权威的十大AI辅助写作助手解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 现今,人工智能辅助论文写作在学术研究里已渐渐变成常见的手段,当前&a…...
Kafka性能测试实战:从脚本使用到参数调优全解析
1. Kafka性能测试入门指南 第一次接触Kafka性能测试时,我被各种专业术语和参数搞得晕头转向。后来在实际项目中反复实践才发现,掌握Kafka性能测试其实就像学开车一样,先了解基本操作,再逐步深入高级技巧。Kafka官方提供的两个测试…...
C++ 文件 IO 性能优化技巧
C文件IO性能优化技巧 在软件开发中,文件IO操作往往是性能瓶颈之一,尤其是处理大文件或高频读写时。C作为一门高性能语言,提供了多种优化文件IO的方法,合理运用这些技巧可以显著提升程序效率。本文将介绍几种实用的C文件IO性能优化…...
Go接口interface与鸭子类型
Go语言中的接口与鸭子类型编程 在编程世界中,Go语言的接口(interface)和鸭子类型(Duck Typing)是两种灵活而强大的设计模式。它们通过解耦类型与行为,让代码更具扩展性和可维护性。Go的接口不同于其他语言…...
e1547:为e621社区构建的专业级移动端浏览解决方案
e1547:为e621社区构建的专业级移动端浏览解决方案 【免费下载链接】e1547 A sophisticated e621 browser 项目地址: https://gitcode.com/gh_mirrors/e1/e1547 在数字内容消费日益移动化的今天,专业社区平台的移动端体验往往成为用户留存的关键因…...
