这篇文章主要介绍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服务停止脚本的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。