CMServer和Agent服务停止脚本的示例分析

这篇文章主要介绍CM Server和Agent服务停止脚本的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联建站坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站建设、成都网站设计、微信公众号开发、电商网站开发,重庆小程序开发,软件按需网站策划等一站式互联网企业服务。

CDH5中CM和Agent服务停止脚本实现

在CDH5中这两个服务的启停方式是在/etc/init.d目录下提供两个shell脚本cloudera-scm-agent和cloudera-scm-server,脚本中停止服务的方式是调用了local_killproc函数

CM Server和Agent服务停止脚本的示例分析

local_killproc函数中最终调用的是/etc/init.d/functions脚本中的killproc函数

CM Server和Agent服务停止脚本的示例分析

cloudera-scm-server和cloudera-scm-agent服务的最终停止脚本是通过服务的pid文件找到服务的找到服务的进程ID使用kill命令杀掉进程从而实现停止服务。

3

CDH6中CM和Agent服务停止脚本实现

在C6中启停cloudera-scm-agent和cloudera-scm-server服务的方式与C5有一定的区别,可以说C5下两个服务的启停方式使用的是RedHat6下通过将shell脚本注册为OS的Service,通过Service命令stop服务,终止是通过kill的方式杀掉集成而停止服务。

而在C6下完全抛弃了Redhat6中通过Service的方式管理服务,而是使用systemctl的方式管理服务。通过Systemctl的方式管理服务,最终服务的启停会在/usr/lib/system/system目录下创建cloudera-scm-server和cloudera-scm-agent服务启停,该文件只是配置文件,不属于shell脚本

CM Server和Agent服务停止脚本的示例分析

CM Server和Agent服务停止脚本的示例分析

在定义的两个配置文件中可以看到ExecStart参数指定了服务的启动脚本,systemd只支持预定义的Action,如:ExecStart, ExecStartPre, ExecStartPost, ExecStop, and ExecReload,在两个服务的定义脚本中并未指定ExecStop执行脚本(推测systemctl stop操作是调用RedHat7默认的操作),因此cloudera-scm-agent和cloudera-scm-server两个服务并未提供stop的脚本。

4

总结

1.在CDH5中,cloudera-scm-agent和cloudera-scm-server两个服务并未提供单独停止服务的脚本,但启动脚本中有相应的停止函数,是直接调用的kill进程的函数。

2.在CDH6中,cloudera-scm-agent和cloudera-scm-server两个服务也未单独提供停止服务的脚本,启动脚本中也没有停止函数。

3.在CDH6中,cloudera-scm-agent和cloudera-scm-server两个服务如果需要停止建议使用systemctl stop执行进行操作,依靠RedHat默认的机制实现服务的停止动作。

4.对于CDH6,如果需要手动操作脚本停止服务,也可以参照CDH5版本的停止方式,通过kill的方式将进程停止。

以上是“CM Server和Agent服务停止脚本的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享文章:CMServer和Agent服务停止脚本的示例分析
本文来源:http://myzitong.com/article/pojgdi.html