自分のサーバー上に私のUbuntu 14.04サーバーでCrontabを使用しているスクリプトを実行していて、すべて正常に動作するPDI Kitchenジョブがあります。Jenkins Pentahoエラー
今私は(同じサーバーにインストールされている)ジェンキンスを使用して、それをスケジュールしようとしていますし、私は次のエラーを取得する:
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がこのファイルをロードしていないことを伝えます(ただし、Crontabを使用して実行すると自動的にロードされます)。
私はこれをどのように修正できますか?私はこのような複数のジェンキンスとPentahoのブログをチェックしています
https://anonymousbi.wordpress.com/2014/09/17/pentaho-data-integration-scheduling-with-jenkins/
しかし、例はPentahoの変数を使用していないので、彼らは私には関係ありません。
しないソリューションが、あなたの直感が正しいかどうかを確認する簡単な方法として:あなたは$ {BI_SERVERをハードコーディングすることができます。 PORT}を適切なジョブエントリに追加します。キッチンには数多くの鉱石ファイルがありますので、 – AlainD
ハードコードされたバージョンは、プロパティをロードする必要がないため動作します。 –