0551-6.1-普通用户配置kill CDH集群进程权限

2019-11-28 21:17:06 浏览数 (1)

作者:李继武

1

文档编写目的

在前面的文章《0548-5.13.1-如何使用普通用户管理CM server和agent服务》解决了只能使用普通用户来管理CM和Agent服务的需求。本文档介绍如何为一个普通用户添加免密kill CDH集群中cloudera-scm-server、cloudera-scm-agent、supervisord进程,结合配置的免密systemctl权限,使得该普通账号能真正作为CDH集群的运维账号。

  • 测试环境:CDH6.1.0

2

进程介绍

1. cloudera-scm-server进程

代码语言:javascript复制
ps -ef | grep cloudera-scm-server

cloudera-scm-server的进程可以直接通过上面的命令进行查看

2.cloudera-scm-agent、supervisord进程

代码语言:javascript复制
ps -ef | grep cm-agent | grep python2

从以上的进程情况看,各个组件的服务都是由supervisord服务进行管理,supervisord是各组件服务的父进程,这从下方的图中也可以看出,因此当我们kill掉supervisord进程之后,组件进程停止。

3

关于pkill和kill命令使用

1.在使用kill -9来kill cloudera-agent-server进程时,会出现kill之后又会自动重启的情况:

如上,当kill掉cloudera-scm-server进程之后,后台又自动将该服务重启,这与服务的启动脚本配置有关,如下:在CM6.1.0版本中,该服务配置了失败重启的策略

该情况同样出现在cloudera-scm-agent和supervisord服务当中:

该情况的原因在于当我们是用kill -9强制kill进程时,被认为是failure,而不是正常停止,根据systemctl配置的服务策略,自动重启了服务,因此无法通过kill -9来停止这三个服务进程。

这里要注意的是,当kill -9停止supervisord进程时,因为原来的supervisord停止了,会导致所有的组件服务也会停止,并由新的supervisord进程重新启动这些组件进程,因此在控制台上会出现异常,部分组件可能需要手动启动。

2.使用kill -15停止cm-agent和supervisord进程,但无法停止cm-server进程

使用kill -15停止cm-server进程和使用kill -9情况一样,kill之后自动重启:

使用kill -15可停止cm-agent和supervisord进程

3.使用pkill 停止cm-agent和supervisord进程,但无法停止cm-server进程

使用pkill停止cm-server进程和使用kill-9和kill-15情况一样,kill之后自动重启:

代码语言:javascript复制
pkill -f cloudera-scm-server

使用pkill 停止cm-agent进程(此处不能用pkill-f cloudera-scm-agent,该命令非但不能killcm-agent进程,反而会误杀很多组件进程):

代码语言:javascript复制
pkill -f agent$

使用pkill停止supervisord进程:

代码语言:javascript复制
pkill -f supervisord

4

配置sudoers

虽然pkill命令无法停止cm-server进程,但并不是该命令对该进程无效,而是因为cm-server服务策略的问题,因此我们仍然将kill cm-server进程的命令配置到sudoers当中。

1.在原来的CDH_SYSTEMCTL命令后面再添加进这三条命令

代码语言:javascript复制
/usr/bin/pkill -f cloudera-scm-server, 
/usr/bin/pkill -f agent$, 
/usr/bin/pkill -f supervisord

普通用户user免密sudo的权限配置

5

验证

1.Kill cm-server进程

与预期一致,cm-server进程被kill之后又自动重启。

2.user用户可以kill掉cm-agent进程

3.user用户可以kill掉supervisord进程

4.测试user用户是否可以kill其他进程

这样配置之后,user用户只能killcm-server/cm-agent/supervisord进程,不能kill其他进程。

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

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

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

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

0 人点赞