扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍CM Server和Agent服务停止脚本的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联建站坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站建设、成都网站设计、微信公众号开发、电商网站开发,重庆小程序开发,软件按需网站策划等一站式互联网企业服务。
CDH5中CM和Agent服务停止脚本实现
在CDH5中这两个服务的启停方式是在/etc/init.d目录下提供两个shell脚本cloudera-scm-agent和cloudera-scm-server,脚本中停止服务的方式是调用了local_killproc函数
local_killproc函数中最终调用的是/etc/init.d/functions脚本中的killproc函数
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脚本
在定义的两个配置文件中可以看到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服务停止脚本的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流