詹金斯Pentaho错误

时间:2017-10-26 13:12:20

标签: jenkins environment-variables pentaho pentaho-spoon pentaho-data-integration

我的服务器上有一个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变量,因此它们与我无关。

1 个答案:

答案 0 :(得分:0)

当Jenkins安装在root帐户下时会发生错误,因为它会尝试像jenkins用户一样覆盖文件。为避免这种情况,可以在新用户下进行安装,也可以将根文件的所有权更改为jenkins(不建议用于安全问题)。

另外,将您的kettle.properties文件移至jenkins home($ JENKINS_HOME / .kettle)