0520-如何使用非root用户启动CM的Server和Agent服务

本文探讨了在CDH环境中,如何尝试让Cloudera Manager Server和Agent服务使用非root用户启动。虽然可以修改启动脚本和文件权限,但遇到如权限问题和管理服务异常等困难,导致尝试最终失败。由于/var/run目录权限和系统服务管理的复杂性,以及非官方支持的风险,不推荐尝试非root用户管理CM服务。

1 文档编写目的

根据前面的安装文档,我们知道CDH的安装只能使用root或者具有sudo权限的用户进行安装,但大多数企业对于服务器的root用户的管控比较严格,大多数情况下都不能够直接使用或者需要申请比较麻烦。对于这种情况,Cloudera官方提供了一种单用户安装CDH的模式,参考Fayson前面的文章《0517-如何在CDH5中使用单用户模式》。但实际情况是这种方法非常麻烦,官方其实也不建议使用,而且从CDH6开始也已经废弃了这种安装或使用方式。

本文基于一个实际需求,即CDH相关的所有服务都使用非root用户来管理,主要是Cloudera Manager Server和Agent服务(其他Hadoop服务默认都是使用相应自己的用户比如hdfs或者hive用户),我们知道这2个服务默认会被放到操作系统的/etc/rc.d/init.d下,即会开机自启动,而且Server使用cloudera-scm用户启动而Agent使用root用户启动。实现思路是先从操作系统自启动里移除,然后设置相关脚本,文件和日志的权限来实现使用非root用户的手动启动,这样可以实现未来的非root用户来管理Server和Agent服务,而Hadoop相关服务大部分情况下都可以通过Cloudera Manager界面化来管理。以下Fayson进行实操演示。

  • 测试环境

1.CDH5.16.1

2.Redhat7.4

3.采用root进行操作

2 修改cloudera-scm-agent服务

2.1 移除agent服务

1.停止Agent服务

systemctl stop cloudera-scm-agent

2.Kill supervisord进程,如果存在

[root@ip-172-31-13-38 ~]# ps -ef |grep supervisord
root      1470     1  0 12:39 ?        00:00:11 /usr/lib64/cmf/agent/build/env/bin/python /usr/lib64/cmf/agent/build/env/bin/supervisord
root     14521 13742  0 13:09 pts/0    00:00:00 grep --color=auto supervisord
[root@ip-172-31-13
<think>好的,用户的问题是询问CDH CM启动命令。首先我需要回忆ClouderaManagerCDH的相关知识。根据之前的引用内容,用户提到过启动CM Server的命令是/opt/cm-5.6.0/etc/init.d/cloudera-scm-server start,并且在引用1中也有提到这个路径。同时,用户还提到了设置自启动,用chkconfig命令。接下来要确认CMServerCM Agent启动命令是否有区别。引用1中启动的是Server,而Agent可能在其他节点上运行,可能需要不同的命令。例如,Agent启动可能是cloudera-scm-agent start。不过用户现在问的是CM启动命令,可能指的是Server部分。 另外,用户可能还关心如何停止服务或者重启,所以应该一并提供这些命令。同时,日志路径也是常见问题,引用2提到了/var/log/cloudera-scm-server/cloudera-scm-server.log,这部分需要包含在回答中,帮助用户排查问题。 需要注意不同版本的路径可能不同,比如用户引用中的是cm-5.6.0,但其他版本路径中的版本号会变化,需要提醒用户根据实际安装路径调整命令。最后,用户可能还需要了解如何验证服务是否成功启动,比如检查状态或查看端口是否监听,这部分可以加入补充说明,增加回答的实用性。</think>Cloudera Manager(CMCDH的启动命令根据组件不同有所区分,以下是关键操作步骤: ### 一、CM Server启动命令 1. **启动CM Server服务** ```bash /opt/cm-5.6.0/etc/init.d/cloudera-scm-server start ``` 2. **设置开机启动** ```bash cp /opt/cm-5.6.0/etc/init.d/cloudera-scm-server /etc/init.d/ chkconfig cloudera-scm-server on ``` ### 二、CM Agent启动命令 1. **启动Agent服务(所有节点执行)** ```bash service cloudera-scm-agent start ``` 2. **重启Agent(配置变更后常用)** ```bash service cloudera-scm-agent restart ``` ### 三、服务状态检查 - **查看CM Server状态** ```bash service cloudera-scm-server status ``` - **查看端口监听(默认7180)** ```bash netstat -an | grep 7180 ``` ### 四、日志路径 - **Server日志(启动问题排查关键)** ```bash /var/log/cloudera-scm-server/cloudera-scm-server.log ``` - **Agent日志** ```bash /var/log/cloudera-scm-agent/cloudera-scm-agent.log ``` > **注意**:路径中的`cm-5.6.0`需替换为实际安装版本号,若使用root用户需加`sudo`[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值