前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0565-6.1.0-NFS异常导致Host Monitor及Agent服务错误

0565-6.1.0-NFS异常导致Host Monitor及Agent服务错误

作者头像
Fayson
发布2019-04-29 15:51:54
1.7K0
发布2019-04-29 15:51:54
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

文档编写目的

如果CDH集群中的节点上有挂载NFS到某个目录,当NFS服务异常导致该目录不可用时,Cloudera Management Service的Host Monitor服务可能会抛出以下错误:

代码语言:javascript
复制
Monitor-HostMonitor throttling_logger ERROR Timed out waiting for worker process collecting filesystem usage to complete.

同时出现问题的节点的Agent服务的log中也会出现如下异常:

代码语言:javascript
复制
[10/Mar/2019 03:34:00 +0000] 12014 MainThread throttling_logger ERROR    Child collection process still around. Skipping new collection. All nodev filesystems will have unknown usage until collection resumes. Current nodev filesystems: /dev/shm,/run,/sys/fs/cgroup,/run/user/0,/run/user/997,/run/cloudera-scm-agent/process,/nfs_test

Agent服务异常很可能会导致该节点上的Hadoop相关服务都异常,本文Fayson会模拟该情况,然后具体演示如何解决该问题。

  • 测试环境

1.CDH6.1

2.Redhat7.4

3.集群已启用Kerberos

4.集群已启用HDFS HA

2

问题重现

1.在重现问题前,Fayson首先介绍一下测试环境的情况,Fayson在其中一个DataNode,IP为172.31.11.232上安装了NFS服务,并且创建了一个目录,并挂载到CM节点172.31.13.38,该过程省略。

节点IP

节点角色

说明

172.31.11.232

DataNode

NFS Server

172.31.13.38

ClouderaManager

NFS Client

代码语言:javascript
复制
[root@ip-172-31-13-38 cloudera-scm-agent]# showmount -e ip-172-31-11-232 
Export list for ip-172-31-11-232:
/nfs_test 172.31.13.38
[root@ip-172-31-13-38 cloudera-scm-agent]# mount | grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
172.31.11.232:/nfs_test on /nfs_test type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.31.13.38,local_lock=none,addr=172.31.11.232)

2.通过CM进入172.31.13.38的主机管理页面也能看到该挂载的nfs目录已经被CM监控到。

3.到172.31.11.232节点上停止NFS服务,模拟故障。同时为了快速的看到效果,直接重启172.31.13.38节点上的Agent服务。

代码语言:javascript
复制
[root@ip-172-31-11-232 ~]# systemctl stop nfs
[root@ip-172-31-13-38 ~]# systemctl restart cloudera-scm-agent

4.再次通过CM进入172.31.13.38的主机管理页面,发现已经看不到挂载的NFS目录。同时在运行状况测试栏也能发现一些未知状况。

5.查看172.31.13.38节点上的log,可以看到以下错误信息。

代码语言:javascript
复制
[10/Mar/2019 05:59:25 +0000] 4826 Monitor-HostMonitor throttling_logger ERROR    Child collection process still around. Skipping new collection. All nodev filesystems will have unknown usage until collection resumes. Current nodev filesystems: /dev/shm,/run,/sys/fs/cgroup,/run/user/0,/run/user/997,/run/cloudera-scm-agent/process,/nfs_test

3

问题解决

1.进入172.31.13.38节点的Agent配置文件目录,找到config.ini文件

代码语言:javascript
复制
[root@ip-172-31-13-38 ~]# cd /etc/cloudera-scm-agent

2.编辑config.ini文件,找到以下内容。

代码语言:javascript
复制
# The list of non-device (nodev) filesystem types which will be monitored.
monitored_nodev_filesystem_types=nfs,nfs4,tmpfs

3.编辑config.ini文件,将以上内容修改为如下,并保存退出。

代码语言:javascript
复制
# The list of non-device (nodev) filesystem types which will be monitored.
#monitored_nodev_filesystem_types=nfs,nfs4,tmpfs
monitored_nodev_filesystem_types=tmpfs

4.重启172.31.13.38节点上的Agent服务

代码语言:javascript
复制
[root@ip-172-31-13-38 ~]# systemctl restart cloudera-scm-agent

5.通过CM进入172.31.13.38的主机管理页面,发现已经没有未知的运行状况,同时文件系统也已经正常显示除nfs以外的其他目录。

异常恢复。本文因为只是简单模拟一下,并未在Host Monitor中发现相关异常,实际生产过程中,有可能是所有节点都挂载了NFS,然后NFS Server故障后,导致整个集群都不可用,可以参考本文的解决方法。记得需要修改所有节点的Agent相关配置,然后重启所有Agent服务。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档