**
公司集群CDH没有正常关闭,导致server无法启动问题
1 国庆前为防止公司集群出现意外,特将公司CDH集群关闭,(可能当时心情较为激动没有按照正常顺序先关agent再关server)
2 假后上班时开始启动集群后,打开 CM 主页面时报以下错误
当时没有太当回事,只是以为网络的问题,结果弄了一圈,还是不行,有点慌了,开始考虑到是公司集群出现了问题,那么开始找吧(先看了下前辈们的经验)
```cpp
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [ 确定 ]
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 10280) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 10280) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 10280) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server 已死,但 pid 文件存在
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server 已死,但 pid 文件存在
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server 已死,但 pid 文件存在
找到的server的日志文件
[root@hadoop1 ~]# cd /opt/cm-5.15.0/log/cloudera-scm-server/
[root@hadoop1 cloudera-scm-server]# tail -200f cloudera-scm-server.log
也可查看cloudera-scm-server.out
发现报错如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201012140738874.png#pic_center)
```cpp
INFO main:com.cloudera.enterprise.CommonMain: Statistics not enabled, JMX will not be registered
2020-10-12 10:11:15,978 WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2:com.mchange.v2.resourcepool.BasicResourcePool: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@7f328323 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (5). Last acquisition attempt exception:
java.sql.SQLException: Access denied for user 'scm'@'hadoop1' (using password: YES)
从这里大致可以看见是数据库无法连接的问题,即server节点无法连接MySQL库,无法得到登陆信息,本猿一开始查到的资料是删除CM库再重新建一个CM库,但又怕集群又会出现其他问题,最后找到了一个大佬说是权限问题,于是尝试了一下更新权限
进入MySQL库找到USER表
GRANT ALL PRIVILEGES ON *.* TO 'scm'@'hadoop1' IDENTIFIED BY 'scm';
FLUSH PRIVILEGES;
执行命令
再次执行
root@hadoop1 ~]# cd /opt/cm-5.15.0/run/
[root@hadoop1 run]# ls
cloudera-scm-agent cloudera-scm-server cloudera-scm-server.pid
[root@hadoop1 run]# rm cloudera-scm-server.pid
rm:是否删除普通文件 "cloudera-scm-server.pid"?y
[root@hadoop1 run]# ll
总用量 0
drwxr-xr-x 6 cloudera-scm cloudera-scm 129 6月 24 09:27 cloudera-scm-agent
drwxr-xr-x 2 cloudera-scm cloudera-scm 6 5月 24 2018 cloudera-scm-server
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
已停止 cloudera-scm-server
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [ 确定 ]
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 28386) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 28386) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 28386) 正在运行...
[root@hadoop1 run]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status
(因为一开始server无法启动,有个PID 文件,一定要找到并删该文件,不然还会报错)
好了 问题解决(ps:第一次写有不足之处请大家见谅)