问题
cloudera manager 6.1.0 启动 cloudera-scm-server 报错 :
JDBC driver cannot be found. Unable to find the JDBC database jar on host
背景
已经正确安装官网推荐的 oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
下载地址:https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
并且正确配置环境变量
并且正确安装 mysql
并且正确安装 MySQL JDBC Driver
如官网所示:
# 下载 MySQL JDBC Driver
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
# 解压 MySQL JDBC Driver
tar zxvf mysql-connector-java-5.1.46.tar.gz
#修改路径并且重命名
sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
仍然报错(貌似是这个错,大意是找不到JDBC Dirver):
JDBC driver cannot be found. Unable to find the JDBC database jar on host
原因
mysql-connector-java.jar 的权限问题
查看日志 /var/log/cloudera-scm-server/cloudera-scm-server.log ,发现 cloudera-scm-server 启动时使用非root用户连接mysql
查看 mysql-connector-java.jar 的权限为 rwx------
。因此非root用户没有对 mysql-connector-java.jar 的权限。因此报错找不到 JDBC Dirver。
解决方法
为 mysql-connector-java.jar 赋予非root用户执行权限
chmod 755 /usr/share/java/mysql-connector-java.jar
再次启动服务。OK
网友评论