安装CDH6.3版本的时候遇到 ‘ERROR main:com.cloudera.server.cmf.Main: Server failed’的解决方案

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 安装CDH6.3版本的时候遇到 ‘ERROR main:com.cloudera.server.cmf.Main: Server failed’的解决方案

安装CDH6.3版本的时候遇到 ‘ERROR main:com.cloudera.server.cmf.Main: Server failed’的解决方案


在安装CDH大数据平台的cm-server启动的时候遇到 一个错误,该错误日志文件位置为:/var/log/cloudera-scm-server/cloudera-scm-server.log 错误日志部分截取如下:

2021-07-02 02:14:40,154 ERROR main:com.cloudera.server.cmf.Main: Server failed.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cloudera.server.cmf.TrialState': Cannot resolve reference to bean 'entityManagerFactoryBean' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactoryBean': FactoryBean threw exception on object creation; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not prepare statement

当然了,运维工作就是这样,总是在各种意想不到的地方给你惊喜,我们所需要做到的就是冷静对待。因此,我将分析一下这个错误日志。

以这一段错误日志为例,我们可以发现三个关键的地方,第一是hibernate,第二是while,第三是 could not 。

hibernate以及后面的关联字段是:org.hibernate.exception.GenericJDBCException,表明cm-server使用的是hibernate这个数据库框架,这应该是没问题的,对吧。

while以及后面的关联字段是:while setting constructor argument,表明cm-server在设置构造函数的参数时发生了问题。

could not 以及后面的关联字段是:could not prepare statement,表明无法准备开始语句,具体说,我是在初始化数据库的时候报这么个错的。

根据以上线索,我们可以知道,错误原因在jdbc连接这,要么数据库版本不对,要么数据库驱动不对,而错误日志里有这个:entityManagerFactoryBean,工厂。那么,可以确定是MySQL的驱动不对了,仔细查看了一下 使用的MySQL版本和MySQL驱动版本,MySQL使用的是5.7.19,而驱动版本为mysql-connector-java-5.0.8-bin-g.jar,那么,很明显了,驱动版本过低,MySQL5.7.19并不支持。

处理方案:更换MySQL驱动版本,提高为mysql-connector-java-5.1.47,再次初始化数据库,可以看到数据库的表生成了,完美解决。

初始化数据库的命令是:/opt/cloudera/cm/schema/scm_prepare_database.sh -h 192.168.88.11 mysql scm scm 我的密码(我的密码不能让人看到~~~)

运行结果为:

JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_181-cloudera//bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
Fri Jul 02 14:24:06 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

如果是别的输出,那么准时报错了,可能密码错误?这时候,请检查密码。

可以看到生成了scm数据库的一堆表:

20210702142212132.png

总结:


遇到错误不要慌,仔细查看日志,其实日志里已经提醒的很明显了,hibernate,当然是MySQL或者MySQL驱动出问题啦。while告诉我们cm是在干什么的时候报错了,could not 告诉我们,它现在想干的是什么事,这些理清楚了,问题自然迎刃而解。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Kubernetes 搜索推荐 Docker
K8S容器运行时弃用Docker转型Containerd
K8S容器运行时弃用Docker转型Containerd
2727 0
|
存储 安全 应用服务中间件
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
2978 0
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
|
分布式数据库 Hbase 存储
带你读《HBase原理与实践》之一:HBase概述
Apache HBase是基于Apache Hadoop构建的一个高可用、高性能、多版本的分布式NoSQL数据库,是Google BigTable的开源实现,通过在廉价服务器上搭建大规模结构化存储集群,提供海量数据高性能的随机读写能力。
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
272012 0
|
SQL 消息中间件 Kafka
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
本文介绍了阿里云实时数仓Hologres负责人姜伟华在Flink Forward Asia 2024上的分享,涵盖实时数仓的发展历程、从实时数仓到实时湖仓的演进,以及总结。文章通过三代实时数仓架构的演变,详细解析了Lambda架构、Kafka实时数仓分层+OLAP、Hologres实时数仓分层复用等方案,并探讨了未来从实时数仓到实时湖仓的演进方向。最后,结合实际案例和Demo展示了Hologres + Flink + Paimon在实时湖仓中的应用,帮助用户根据业务需求选择合适的方案。
1821 20
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
|
存储 SQL 分布式计算
impala入门(一篇就够了)
impala入门(一篇就够了)
2820 0
impala入门(一篇就够了)
|
机器学习/深度学习 分布式计算 安全
Hadoop集群常见报错汇总
这篇博客总结了Hadoop集群中可能遇到的各种常见错误,包括Kerberos认证问题、配置错误、权限问题等,并为每个问题提供了详细的错误复现、原因分析以及相应的解决方案。
2241 1
Hadoop集群常见报错汇总
|
消息中间件 存储 分布式计算
Flume实现Kafka数据持久化存储到HDFS
Flume实现Kafka数据持久化存储到HDFS
1430 0
|
SQL 存储 分布式计算
HDFS数据(跨集群)迁移
HDFS数据(跨集群)迁移
|
存储 监控 大数据
构建高可用性ClickHouse集群:从单节点到分布式
【10月更文挑战第26天】随着业务的不断增长,单一的数据存储解决方案可能无法满足日益增加的数据处理需求。在大数据时代,数据库的性能、可扩展性和稳定性成为企业关注的重点。ClickHouse 是一个用于联机分析处理(OLAP)的列式数据库管理系统(DBMS),以其卓越的查询性能和高吞吐量而闻名。本文将从我的个人角度出发,分享如何将单节点 ClickHouse 扩展为高可用性的分布式集群,以提升系统的稳定性和可靠性。
1542 0