CDH 6.3启动失败,由于日志写入权限原因导致cloudera-scm-server.log未生成

发布时间:2024年01月12日

CDH 6.3启动失败,CM之前都能正常启动,服务器重启后,启动出现异常,需要排查具体错误,查看日志,发现日志cloudera-scm-server.log也未生成,不好定位具体原因。于是查看cloudera-scm-server状态,执行systemctl status cloudera-scm-server命令,发现有报错信息,但是具体信息不明显,报错如下:

1月 12 19:06:08 node01 cm-server[270628]: Caused by: java.lang.NullPointerException
1月 12 19:06:08 node01 cm-server[270628]: at java.io.File.<init>(File.java:277)
1月 12 19:06:08 node01 cm-server[270628]: at com.cloudera.server.web.cmf.logs.LogUtil.getServerLogfile(LogUtil.java:31)
1月 12 19:06:08 node01 cm-server[270628]: at com.cloudera.server.cmf.log.components.ServerLogFetcherImpl.<init>(ServerLogFetcherImpl.java:77)

1.cloudera-scm-server.log日志文件路径
cloudera-scm-server.log日志文件一般在/var/log/cloudera-scm-server目录下,于是查看该目录问题,发现无日志文件,多次重启也无日志文件生成。

解决方法:
2.修改log4j.properties配置文件,指定cloudera-scm-server.log日志文件到其他路径(此方法未成功解决问题)
既然原目录无日志文件生成,于是想到修改CM的配置文件,指定日志文件到某个目录,因此找到配置文件进行修改。配置文件目录一般在/etc/cloudera-scm-server,如下图所示:
在这里插入图片描述
备份原文件,vim log4j.properties进行修改,修改cmf.log.dir为指定目录,如下图所示:
在这里插入图片描述
重启cm,到指定目录下查看日志,发现日志文件仍然未生成。

3.修改cm-server配置文件,指定cloudera-scm-server.log日志文件到其他路径(此方法成功解决问题)
由于修改log4j.properties仍然未解决问题,因此思考,日志文件配置可能不是log4j.properties指定,于是继续寻找其他配置文件进行修改,最终找到一个目录/opt/cloudera/cm/bin,发现在cm-server下也有日志文件路径配置,备份cm-server文件,修改日志配置选项,如下图所示:
在这里插入图片描述
修改CMF_LOG_DIR选项,指定日志路径,如下图所示:
在这里插入图片描述
在这里插入图片描述
重启cm,到/opt/cloudera/log下查看日志,发现此时日志正常生成。
在这里插入图片描述
于是查看日志内容,未发现异常,再次访问cm管理页面,也能正常使用。

4.授权文件写入权限(此方法成功解决问题)
由于修改cm-server配置文件成功解决问题,于是猜测/var/log目录无写入权限导致,因此给该目录授权,还原修改配置。重启cm,发现也能成功启动,因此确认cm无法启动原因是日志无写入权限导致。授权命令:

chmod -R 777 /var/log

5.相关大数据学习demo地址:
https://github.com/carteryh/big-data

文章来源:https://blog.csdn.net/qq_21480329/article/details/135562282
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。