jeng gold 的 pentaho ello r
Jenkins Pentaho Error
我的服务器上有一个 PDI Kitchen 作业,我 运行 通过脚本在我的 Ubuntu 14.04 服务器上使用 Crontab 并且一切正常 运行。
现在我尝试使用 Jenkins(安装在同一台服务器上)安排它,但出现以下错误:
2017/10/26 14:55:01 - Kitchen - Logging is at level : Basic logging
2017/10/26 14:55:01 - Kitchen - Start of run.
2017/10/26 14:55:02 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
14:55:12,522 ERROR [KarafLifecycleListener] The Kettle Karaf Lifycycle Listener failed to execute properly. Releasing lifecycle hold, but some services may be unavailable.
2017/10/26 14:55:12 - JOB_EXTRACT - Start of job execution
2017/10/26 14:55:12 - JOB_EXTRACT - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : A serious error occurred during job execution:
2017/10/26 14:55:12 - JOB_EXTRACT - Error occurred while trying to connect to the database
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2017/10/26 14:55:12 - JOB_EXTRACT - Error occurred while trying to connect to the database
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.normalConnect(Database.java:459)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:357)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:328)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:318)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.beginProcessing(Job.java:1027)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.execute(Job.java:520)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.run(Job.java:435)
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:572)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.normalConnect(Database.java:443)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 6 more
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.Util.getInstance(Util.java:360)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:333)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.sql.DriverManager.getConnection(DriverManager.java:664)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.sql.DriverManager.getConnection(DriverManager.java:247)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:554)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 7 more
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.Integer.parseInt(Integer.java:569)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.Integer.parseInt(Integer.java:615)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.port(NonRegisteringDriver.java:822)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 10 more
2017/10/26 14:55:12 - Kitchen - Finished!
2017/10/26 14:55:12 - Kitchen - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : Finished with errors
2017/10/26 14:55:12 - Kitchen - Start=2017/10/26 14:55:01.379, Stop=2017/10/26 14:55:12.875
2017/10/26 14:55:12 - Kitchen - Processing ended after 11 seconds.
Finished: SUCCESS
${BI_SERVER.PORT}
是我在 kettle.properties
文件中定义的一个变量,所以我的直觉告诉我 Jenkins 在执行 kitchen 时没有加载这个文件(但是当我 运行 它使用 Crontab)。
关于如何解决这个问题的任何想法?我检查了多个 Jenkins 和 Pentaho 博客,如下所示:
https://anonymousbi.wordpress.com/2014/09/17/pentaho-data-integration-scheduling-with-jenkins/
但是示例没有使用 Pentaho 变量,所以它们与我无关。
当Jenkins 安装在root 帐户下时会出现错误,因为它会尝试以jenkins 用户覆盖文件。为避免这种情况,要么在新用户下进行安装,要么将根文件的所有权更改为 jenkins(出于安全问题不推荐)。
此外,将您的 kettle.properties 文件移动到 jenkins 主页 ($JENKINS_HOME/.kettle)
我的服务器上有一个 PDI Kitchen 作业,我 运行 通过脚本在我的 Ubuntu 14.04 服务器上使用 Crontab 并且一切正常 运行。
现在我尝试使用 Jenkins(安装在同一台服务器上)安排它,但出现以下错误:
2017/10/26 14:55:01 - Kitchen - Logging is at level : Basic logging
2017/10/26 14:55:01 - Kitchen - Start of run.
2017/10/26 14:55:02 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
14:55:12,522 ERROR [KarafLifecycleListener] The Kettle Karaf Lifycycle Listener failed to execute properly. Releasing lifecycle hold, but some services may be unavailable.
2017/10/26 14:55:12 - JOB_EXTRACT - Start of job execution
2017/10/26 14:55:12 - JOB_EXTRACT - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : A serious error occurred during job execution:
2017/10/26 14:55:12 - JOB_EXTRACT - Error occurred while trying to connect to the database
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2017/10/26 14:55:12 - JOB_EXTRACT - Error occurred while trying to connect to the database
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.normalConnect(Database.java:459)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:357)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:328)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connect(Database.java:318)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.beginProcessing(Job.java:1027)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.execute(Job.java:520)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.job.Job.run(Job.java:435)
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
2017/10/26 14:55:12 - JOB_EXTRACT - Error connecting to database: (using class org.gjt.mm.mysql.Driver)
2017/10/26 14:55:12 - JOB_EXTRACT - Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT -
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:572)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.normalConnect(Database.java:443)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 6 more
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"'.
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2017/10/26 14:55:12 - JOB_EXTRACT - at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.Util.getInstance(Util.java:360)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:333)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.sql.DriverManager.getConnection(DriverManager.java:664)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.sql.DriverManager.getConnection(DriverManager.java:247)
2017/10/26 14:55:12 - JOB_EXTRACT - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:554)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 7 more
2017/10/26 14:55:12 - JOB_EXTRACT - Caused by: java.lang.NumberFormatException: For input string: "${BI_SERVER.PORT}"
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.Integer.parseInt(Integer.java:569)
2017/10/26 14:55:12 - JOB_EXTRACT - at java.lang.Integer.parseInt(Integer.java:615)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.port(NonRegisteringDriver.java:822)
2017/10/26 14:55:12 - JOB_EXTRACT - at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
2017/10/26 14:55:12 - JOB_EXTRACT - ... 10 more
2017/10/26 14:55:12 - Kitchen - Finished!
2017/10/26 14:55:12 - Kitchen - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : Finished with errors
2017/10/26 14:55:12 - Kitchen - Start=2017/10/26 14:55:01.379, Stop=2017/10/26 14:55:12.875
2017/10/26 14:55:12 - Kitchen - Processing ended after 11 seconds.
Finished: SUCCESS
${BI_SERVER.PORT}
是我在 kettle.properties
文件中定义的一个变量,所以我的直觉告诉我 Jenkins 在执行 kitchen 时没有加载这个文件(但是当我 运行 它使用 Crontab)。
关于如何解决这个问题的任何想法?我检查了多个 Jenkins 和 Pentaho 博客,如下所示:
https://anonymousbi.wordpress.com/2014/09/17/pentaho-data-integration-scheduling-with-jenkins/
但是示例没有使用 Pentaho 变量,所以它们与我无关。
当Jenkins 安装在root 帐户下时会出现错误,因为它会尝试以jenkins 用户覆盖文件。为避免这种情况,要么在新用户下进行安装,要么将根文件的所有权更改为 jenkins(出于安全问题不推荐)。
此外,将您的 kettle.properties 文件移动到 jenkins 主页 ($JENKINS_HOME/.kettle)