CDH大数据平台内存交换,警告问题

前言

       博主在使用CDH大数据平台时发现,CDH长时间运行,Cloudera Manager管理页面在运行Spark任务时候经常会出现组件大量内存交换警告,前期博主直接忽略,毕竟不是什么大问题,后期发现如果长时间黄色警告不处理,会误导页面查看集群状态,并且交换空间所占用磁盘空间越来越大,并且警告越来越多,后续还会有从黄色变为红色异常等情况,后进入管理界面发现,CDH在安装时,Linux操作系统,有选择交换空间地址交给CDH内存不足情况下使用,测试发现手动释放会解决,管理界面警告问题(黄色警告,看着也不舒服)。

第一步:首先理解一下linux的内存机制

       我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多(硬盘磁道寻址),因此,我们希望所有数据的读取和写入都在内存完成,而内存大小是有限的,并且内存价格高于硬盘价格,这样就引出了物理内存与虚拟内存的概念。

物理内存:就是系统硬件提供的内存大小,是真正的内存,相对于物理内存(free -h)可查看。
虚拟内存:在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出             的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间,称Swap Space,(swapon -s)可查看。

备注:阿里云默认不开启虚拟内存,不开启交换空间(不要问为什么,也许是为了挣钱)

第二步:进入CDH管理页面查看

①、由下图可知,组件发生警告20处

②、由下图发现,诸多服务组件均有发生。

③、点击主机,由下图知,三台服务器均发生内存交换。

第三步:查看Linux交换空间地址

随便选取一台服务器, swapon -s
由下图可知,Filename交换区挂载为文件/dev/dm-1,Type为分区,size大小为32833532kb,used使用为13568kb,级别为 -2

第四步:编写简单脚本,进行清空文件

脚本同样可以书写为

#!/bin/bash
#关闭所有交换空间
swapoff -a
#开启所有交换空间
swapon -a
#输出
echo "释放完毕"

执行脚本

再次查看,下图知,交换空间使用为 0

第五步:查看CDH管理页面,查看CDH管理服务

多台服务器均执行释放空间命令,发现交换空间为 0,同时警告消失,心情舒服多了

第六步:进行定时释放,避免空间占用过高

vi /etc/crontab

博主按天释放,因为大数据平台也就在每天执行大量离线计算,所以足够,各位按场景配置。

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值