【问题标题】:Rundeck Version Upgrade to 3.3.9Rundeck 版本升级到 3.3.9
【发布时间】:2021-05-31 01:56:56
【问题描述】:

我们一直在尝试将 Rundeck 从 3.2.8 升级到 3.3.4 及更高版本。我们面临着 JDBC 连接器的问题,因为 mysql JDBC 连接器不再与 Rundeck 发行版捆绑在一起。 我们已经使用 jdbc 连接器遵循了 Rundeck 建议,但在 DB 端仍然面临一些问题。以下是我们在日志中发现的一些问题,请帮助

原因:org.springframework.beans.BeanInstantiationException:无法实例化[org.grails.orm.hibernate.HibernateDatastore]:构造函数抛出异常;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

原因:org.hibernate.service.spi.ServiceException:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

原因:org.hibernate.HibernateException:当未设置“hibernate.dialect”时,对 DialectResolutionInfo 的访问不能为空

[2021-02-25T18:17:34,886] 错误 pool.ConnectionPool - 无法创建池的初始连接。 java.sql.SQLException: 无法从 ClassLoader 加载类:org.mysql.jdbc.Driver:org.springframework.boot.loader.LaunchedURLClassLoader@515f550a;ClassLoader:org.springframework.boot.loader.LaunchedURLClassLoader@515f550a

*[2021-02-25T18:12:10,067] 错误堆栈跟踪 - 完整堆栈跟踪: java.sql.SQLSyntaxErrorException:(conn = 19299)“字段列表”中的未知列“workflowst1_.expand_token_in_script_file” *

原因:org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException:“字段列表”中的未知列“workflowst1_.expand_token_in_script_file”

java.sql.SQLException: Unable to load class: org.mysql.jdbc.Driver from ClassLoader:org.springframework.boot.loader.LaunchedURLClassLoader@515f550a;ClassLoader:org.springframework.boot.loader.LaunchedURLClassLoader @515f550a

【问题讨论】:

    标签: mysql jdbc mariadb rundeck


    【解决方案1】:

    请查看documentation你需要将驱动类名改为org.mariadb.jdbc.Driver,然后重启rundeck。

    【讨论】:

    • 是的,我们最初是在升级过程中这样做的,当我们尝试在 UI 上执行作业时,我们看到“* [2021-02-25T18:12: 10,067] ERROR StackTrace - Full Stack Trace: java.sql.SQLSyntaxErrorException: (conn=19299) 'field list' 中的未知列 'workflowst1_.expand_token_in_script_file' * 所以我们不得不回滚。
    【解决方案2】:

    除了this 解决方案,您可以下载并使用MySQL 驱动程序来保留您的配置,请查看this 指南。

    另外,请确保在 rundeck-config.properties 配置文件中定义了 dataSource.dbCreate = update

    【讨论】:

      【解决方案3】:

      似乎是 liquibase 迁移的问题。我在数据库中创建了一个新架构并将其与我当前的架构进行比较,发现缺少一列,这对我有用。

      ALTER TABLE `rundeck`.`workflow_step` ADD COLUMN `expand_token_in_script_file` BIT(1) NULL DEFAULT NULL AFTER `adhoc_execution`;
      

      【讨论】:

      • 我们在这个错误之后得到了下一个错误(关于列child_nodes)。然后我们在 docs.rundeck.com/docs/upgrading/… 上找到了 DB 迁移说明,成功了。
      猜你喜欢
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      相关资源
      最近更新 更多