【CDP】Cloudera Manager 记录一次 Service Monitor 内存溢出/使用率高的问题及解决方案

news2024/11/16 0:26:38

一、问题描述

最近发现我们的生产环境 Service Monitor 的监控报表数据无法正常显示,有很多的断点,有很多数据没有被正常采集到,最后定位到是 service monitor 的JVM 内存使用率过高,导致频繁GC,使得 Service Monitor 极不稳定。

开始的时候,没有过多考虑,只是增加了 JVM 的堆内存大小,但是过段时间有出现,从 16G -> 32G -> 64G,问题还是没有解决,看来必须更深的追一下了。

二、环境信息

  1. cloudera manager 7.4.4
  2. cdp 7.1.7

三、解决思路

通过了解 Servcie Monitor 具体的监控指标项,以及每个监控指标项对应的监控 Entity 的数量,来判断是那个监控指标项引起的Service monitor 内存使用率过高。

四、具体实践

1. 修改配置

这一步是要能够通过 rest 请求来查看 监控 Entity 的详情。

CM -> Cloudera Management Service -> 配置 -> Service Monitor 的 java 配置选项

新增如下内容:

-Dcom.cloudera.cmon.firehose.FirehoseDebugServer.enable_timeSeriesEntitySummary_servlet=true

在这里插入图片描述

2. 重启service Monitor 服务

CM -> Cloudera Management Service -> 实例 -> Service Monitor 重启。

3. 查看 entity 数量

http://service monitor ip:8086/timeSeriesEntitySummary

内容大致如下:
在这里插入图片描述

五、问题原因

我这里遇到的问题原因是 Kakfa Producer 的监控指标项过多导致的。SMM有一个已知问题,当匿名producer的metric被SMON收集的时候,很容易对SMON造成过压,导致SMON服务不正常。这会导致SMON 空间填满,从而导致内存消耗问题。为了解决这个问题,在CDP 7.1.7的新功能中引入了producer metric whitelisting,将您所关心的producer加入到白名单,过滤掉不需要的匿名producer。

找到监控实体数量最多的一项,问题大概就是由他引起的,可能每个人的情况不一样,这里只给一个通用的排查方向,具体的情况具体解决。

最终的解决方法

CM -> kafka -> 配置 -> producer.metrics.enable 设置为 false。

滚动重启 Kafka 集群。
在这里插入图片描述

六、补充

对于有些目前找不到问题原因,但又想尽快降低 Service Monitor 服务内存小伙伴,可以尝试重置Firehose LevelDB存储。具体步骤如下:

  1. 停止 Service Monitor 服务。
  2. 重命名 Service Monoitor 配置中的目录,或者直接将 /var/lib/cloudera-service-monitor 目录下的文件夹清空。
  3. 启动 Service Monitor 服务。

参考:

  1. https://my.cloudera.com/knowledge/ERROR-quotOutOfMemoryquot-in-Service-Monitor?id=338841

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

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

相关文章

Zynq PL DDR4读写测试工程

基于XCZU21DR-2FFVD1156E开发,本文介绍对PL DDR4的读写操作,代码全部经过上板测试。 目录 添加DDR4 IP Basic Mode and Interface & Clocking Controller Options Advanced Clocking VIO IP配置 ILA IP配置 General Options Probe_Ports(0..7…

爬虫的基本使用

文章目录urllib库1、基本使用2、一个类型、六个方法3、下载操作4、请求对象的定制5、get请求的quote方法6、get请求的urlencode方法7、post请求百度翻译8、post请求百度翻译之详细翻译小技巧:正则替换9、agax的get请求豆瓣电影第一页**10、agax的get请求豆瓣电影的前…

使用容器跑一个zabbix 监控另外一个虚机的基础项

目录 安装docker mysql数据库部署 拉取mysql镜像 运行mysql服务器 创建zabbix用户和数据库 进入docker容器登陆数据库 创建zabbix数据库创建zabbix用户 zabbix用户授权 复制mysql初始化数据库文件到容器 导入zabbix初始化数据 zabbix服务器部署 拉取镜像 运行容器 效果…

Linux环境下,JAVA环境调用C++的动态链接库so

1、使用QT开发一个动态链接库.so(本次使用linux环境,在windows下是.dll) 代码文件包含 testdll.cpp testdll.h testdll.pro testdll_global.h testdll.pro #------------------------------------------------- # # Project created by QtC…

苹果手机怎么清理内存垃圾?2个方法,快速解决

很多小伙伴在生活中会使用手机来看视频、聊天、学习等等。不管是苹果手机还是安卓手机,使用手机的时间长了,里面就会产生很多垃圾占据手机空间。苹果手机怎么清理内存垃圾?今天小编就来分享2个方法,教你快速解决。 一、删除不常用…

ansible(第五天)

五、实施任务控制 161 1.循环(迭代)--- loop --item 1.利用loop----item循环迭代任务 with_* 通过循环管理员不需要编写多个使用同一模块的任务。例:他们不需要编写五个任务来确保存在五个用 户,而是只需要编写一个任务来对含有…

R语言应用xgboost进行机器学习(2)

XGBoost 机器学习模型是一种高效且可扩的展的机器学习分类器,由 Chen 和 Guestrin 在 2016 年推广。XGBoost原理是是在决策树的基础上产生迭代,它以 boosting 的方式结合了多个决策树。通常创建每棵新树是为了通过梯度提升来减少先前模型的误差&#xff…

(day4) 自学Java——字符串

ctrlaltT 选择语句包裹 目录 1.API 2.String创建 3.字符串的比较 4.字符串——练习 (1):用户登录 (2)遍历字符串和统计字符个数 (3)字符串拼接和反转 (4)金额转换 (5)手机号屏蔽,游戏敏感词替换 5.StringBuilder 6.字符串相关类的底层原理 7.较难练习 …

苹果手机发热发烫怎么办?常见原因及解决办法

很多小伙伴都喜欢使用苹果手机,有时候正在玩着苹果手机的时候,发现自己的苹果手机温度很高,很烫手,这是怎么一回事呢?苹果手机发热发烫怎么办?别担心,下面跟着小编一起来看看苹果手机发热发烫常…

Java之集合概述、ArrayList的使用、常见API和集合案例

目录集合概述总结ArrayList集合快速入门总结ArrayList对于泛型的支持总结ArrayList常用API、遍历集合案例遍历并删除元素值总结存储自定义类型的对象元素搜索集合概述 总结 1、数组和集合的元素存储的个数问题? 数组定义后类型确定,长度固定集合类型可以不固定&a…

MyBatis 动态SQL使用

动态 sql 是Mybatis的强⼤特性之⼀&#xff0c;能够完成不同条件下不同的 sql 拼接。 1.<if>标签 运行结果&#xff1a; 2.<trim>标签 之前的插⼊⽤户功能&#xff0c;只是有⼀个 photo 字段可能是选填项&#xff0c;如果有多个字段&#xff0c;⼀般考虑使⽤&l…

VS Code安装教程

一、下载 1、官网 下载地址 2、下载 根据自己电脑型号下载&#xff0c;此处以Windows为例。 二、安装 1、下载完成后&#xff0c;直接点击安装包安装&#xff0c;即可。 2、开始安装&#xff0c;然后下一步 3、可以在此处自定义地址&#xff0c;然后下一步 4、默认设置&am…

数据结构课程设计

数据结构课程设计 文章目录数据结构课程设计1.1问题描述1.2需求分析1.3概要设计1.4详细设计1.5调试分析1.6测试结果1.7参考文献1.8源码1.1问题描述 编制一个能演示执行集合的交、并和差运算的程序。 要求&#xff1a; 集合元素用小写英文字母&#xff0c;执行各种操作应以对话…

iOS 系统校园无线WIFI认证上网指南

无为WiFi介绍一下IOS手机怎么连接校园网&#xff0c;本介绍为普通途径连接使用校园网&#xff0c;想了解绕过校园网请看其他贴文。1. 打开无线网络&#xff08;WLAN&#xff09;开关2. 连接校园无线WiFi网络进入“设置”->“无线局域网”->在无线WiFi信号列表中选择“SWJ…

【从零开始学习深度学习】40. 算法优化之AdaGrad算法介绍及其Pytorch实现

之前介绍的梯度下降算法中&#xff0c;目标函数自变量的每一个元素在相同时间步都使用同一个学习率来自我迭代。例如&#xff0c;假设目标函数为fff&#xff0c;自变量为一个二维向量[x1,x2]⊤[x_1, x_2]^\top[x1​,x2​]⊤&#xff0c;该向量中每一个元素在迭代时都使用相同的…

线程安全详解

线程安全 线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中&#xff0c;线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行&#xff0c;不会出现数据污染等意外情况。 多个线程访问同一个对象时&#xff0c;如…

【docker11】docker安装常用软件

docker安装常用软件 1.安装软件说明 框架图 总体步骤&#xff1a; 搜索镜像拉去镜像查看镜像启动镜像 - 服务端口映射停止容器移除容器 1.安装tomcat docker hub上查找tomcat镜像 从docker hub上拉取tomcat镜像到本地 docker images查看是否有拉取到的tomcat 使用to…

Spring Security 导致 Spring Boot 跨域失效问题

1、CORS 是什么首先我们要明确&#xff0c;CORS 是什么&#xff0c;以及规范是如何要求的。这里只是梳理一下流程。CORS 全称是 Cross-Origin Resource Sharing&#xff0c;直译过来就是跨域资源共享。要理解这个概念就需要知道域、资源和同源策略这三个概念。域&#xff0c;指…

sahrding-jdbc的雪花算法取模为0或1的问题

工作时无意间发现sahrding-jdbc使用雪花算法生成的id 在某一业务分库分表 永远在那两个库表里面,排查后这里做下分享 环境、配置、问题介绍 16库16表使用的是org.apache.shardingsphere.core.strategy.keygen下面generateKey生成id分库表算法是对16取模生成数据永远在0库0表 0…

如何有效的防护暴力破解和撞库攻击

在网络威胁领域&#xff0c;暴力破解攻击仍然是网络犯罪分子非常喜爱且有利可图的攻击方法。&#xff0c;黑客通过收集互联网已泄露的用户和密码信息&#xff0c;生成对应的字典表&#xff0c;由于许多用户重复使用相同的用户名和密码&#xff0c;攻击者可以使用撞库攻击获得对…