Ambari是Hortonworks出一款开源Hadoop管理系统,是用python写的,目前市场是开源的Hadoop管理系统好像就只有这一个,虽然Ambari问题很多,也不好用,但也没办法了。

最近监控系统经常报警说一个url老是不可达,只是一个ambari服务器的url 。

于是登录到服务器上一探究竟。

用iftop查看网络状况,发现网络占用率很高,达到了700Mbps,而且一直居高不下,网卡最大带宽是1000Mbps,被用掉了一大半,怪不得会报警,这是不正常的。

再仔细看,发现ambari server和每个slavenodes都有很多包传输,肯定和某个服务有关。怀疑是Ganglia。

保险起见,我登录到另外一个ambari server上,发现网络占用率很低,1Mbps都不到。

用tcpdump抓包,然后用wireshark分析。

tcpdump -i bond0 'host SLAVENODE' -w traffic.cap -G 60 -W 1

-G:override previous saved file very n seconds .

-W: Keep n files

抓好包后把,包传到自己电脑上,用wireshark分析,发现几乎所有包都是metrics相关的,推断肯定是ganglia ,因为另外一个ambari server上没有装ganglia。

虽然ganglia服务已经被停掉了,但估计是agents端在一直不停的发metrics给server端,导致了很高的网络占用率。

于是删掉ganglia,在ambari web UI中没法删掉ganglia,只能调用ambari API 来做。

#STOP THE GANGLIA SERVICEcurl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/services/GANGLIA

#STOP THE SERVER AND MONITOR ON THE GANGLIA SERVERcurl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Component"},"Body":{"HostRoles":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/hosts/<GANGLIA_SERVER_FQDN>/host_components/GANGLIA_SERVERcurl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Component"},"Body":{"HostRoles":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/hosts/<GANGLIA_SERVER_FQDN>/host_components/GANGLIA_MONITOR

#STOP THE GANGLIA MONITOR ON ***EVERY*** NODE (REPEAT FOR EACH NODE WHERE GANGLIA IS MONITORING):curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Component"},"Body":{"HostRoles":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/hosts/<HOST_FQDN>/host_components/GANGLIA_MONITOR

#STOP EACH SERVICE COMPONENT:curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop All Components"},"Body":{"ServiceComponentInfo":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/services/GANGLIA/components/GANGLIA_SERVERcurl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop All Components"},"Body":{"ServiceComponentInfo":{"state":"INSTALLED"}}}' https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/services/GANGLIA/components/GANGLIA_MONITOR

#RERUN TO CHECK ALL COMPONENTS ARE STOPPED:curl --user admin:admin https://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/services/GANGLIA

#REMOVE THE GANGLIA SERVICE: curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://<AMBARI_NODE>:8080/api/v1/clusters/<CLUSTER_NAME>/services/GANGLIA

卸掉Ganglia之后用iftop查看网络占用率,发现任然很高,不解, 于是再打开wireshark,发现所有包都是UDP包,而且端口大部分都一样,于是登录到对应的slavenode上,用"lsof -i :PORT" ,发现是regionserver进程发出的包,其他的端口对应的是datanode和nodemanager进程发出的包,一团疑惑,按道理应该是Ganglia gmond进程发出的包才对啊,为什么是hadoop进程本身发出的包呢?

通过研究后发现,原来hadoop 本身带有metric2 framework,能够集成ganglia这样的监控系统,直接把jvm等metrics直接吐给Ganglia server,其中的一个重要配置文件是/etc/hadoop/conf/hadoop-metric2.properties 。

原理搞懂之后,决定找一个slavenode重启上面的hadoop服务,完成后再用tcpdump抓包,发现metrics包消失了,在ambari Web 上重启所有的slavenodes的hadoop服务,再看网络占用率降下来了,至此,问题解决。

转载于:https://blog.51cto.com/haohaozhang/1791132

Ambari Server网口带宽占用率很高问题的分析和解决办法相关推荐

  1. EasyCVR播放时cpu占用率较高的原因分析及解决方法

    TSINGSEE青犀视频开发的视频平台都具备Windows和Linux的运行版本,可以根据需求自由选择.当遇到项目现场有流量较大的情况,大多数用户都比较担心对CPU的占用,这种情况可以通过开启按需播放 ...

  2. hbase占用内存过高_内存占用率过高怎么办?Win10电脑内存占用率很高原因和解决方法...

    内存占用率过高,是电脑十分常见的电脑故障,出现的现象就是什么软件还没有打开,内存占用了70%以上,甚至是99%,出现电脑明显卡顿的问题.不过想要解决内存占用率高不是简单的事情,因为可能性比较多,可能是 ...

  3. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...

    内存占用率过高,是电脑十分常见的电脑故障,出现的现象就是什么软件还没有打开,内存占用了70%以上,甚至是99%,出现电脑明显卡顿的问题.不过想要解决内存占用率高不是简单的事情,因为可能性比较多,可能是 ...

  4. 服务器中木马病毒处理(CPU占用率很高)处理办法

    参考:https://blog.csdn.net/wkfyynh/article/details/105206990 记录一下这个过程,方便后来人使用.如果遇到权限问题,在所有执行命令前使用sudo ...

  5. 任务管理器--内存、磁盘占用率很高解决方法

    引起内存.磁盘占用率很高的原因有很多 有些服务的开启.杀毒软件的开启.开机自动启动的服务 解决方法 关闭家庭组服务 关闭磁盘碎片处理.自动维护计划 关闭superfetch服务 参考地址 https: ...

  6. 解决 Windows 资源管理器 CPU 占用率很高的问题

    解决 Windows 资源管理器 CPU 占用率很高的问题 参考文章: (1)解决 Windows 资源管理器 CPU 占用率很高的问题 (2)https://www.cnblogs.com/LuQi ...

  7. oracle占用io,解决 oracle IO占用率很高的问题

    突然user io占用率很很高,看了一个AWR报告,发现direct path read temp,direct path write temp的的数率很高,后来怀疑是临时表空间不够了,就试着设了一下 ...

  8. java检测服务器磁盘空间占满_Java性能检测工具-记录一次通过jstack排查Linux服务器CPU占用率很高的实践...

    一.问题描述 Linux服务器的配置是4核16G,将war包部署到tomcat后,启动tomcat,发现内存占用率不高,但是CPU一直高达100%:浏览器输入相关url也无法访问该项目,且tomcat ...

  9. Linux系统中CPU占用率过高问题原因分析

    背景: 在服务器上部署了一个项目,发现项目部署完成之后,CPU占用率居高不下,现将原因分析过程总结如下: 通过top命令查看CPU占用率,分析CPU占用过高的原因 步骤一: 通过top命令,查看占用C ...

最新文章

  1. 你陪我长大 我陪你变老
  2. 使用node.js进行API自动化回归测试
  3. Oracle 事务概述
  4. MySql(windows)安装步骤整理
  5. 在ASP.NET Core中使用Apworks快速开发数据服务
  6. JSP 获得服务器时间和浏览器时间
  7. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式...
  8. linux指定cpu运行程序,进程/线程绑定到特定CPU核的linux实现(有代码有实例)
  9. JavaScript学习(八十八)—数组知识点总结,超详细!!!
  10. ubuntu手机识别
  11. python md5加密
  12. php 查oracle 表不存在报错处理,合同信息查询时,报错提示oracle数据库执行异常,表或视图不存在...
  13. python数据处理:数据合并和Reshaping
  14. 关于威联通升级5.0系统无法登录的解决办法(有用)
  15. JS的基本概念和语法
  16. 选择排序的Java代码实现(超详细代码)
  17. axd与ashx区别
  18. Celery介绍---手机短信异步发送
  19. MacBook Pro(13 英寸,2011 年末)A1278 安装Winows11无声音问题解决(WIN10和WIN11同样的解决方法)
  20. 人脸表情系列:论文阅读——Facial Expression Recognition by De-expression Residue Learning

热门文章

  1. 为什么汉字不能当密码,假如用汉字做密码,又会怎样?
  2. 如何设计一个通用的权限管理系统
  3. 18个Java8日期处理的实践,太有用了!
  4. 为什么微服务一定要有网关?
  5. 机器学习基础知识详解!
  6. 全网刷爆!B站Up主何同学带火这只A股:最硬核桌子,苹果也做不到!
  7. 清华旷视:让VGG再次伟大!
  8. CVPR 2020 夜间目标检测挑战赛冠军方案解读
  9. 你中招了吗?混不好大学的人,都有这4种表现
  10. Python3.5源码分析-内存管理