0

自分のサーバー上に私の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の変数を使用していないので、彼らは私には関係ありません。

+0

しないソリューションが、あなたの直感が正しいかどうかを確認する簡単な方法として:あなたは$ {BI_SERVERをハードコーディングすることができます。 PORT}を適切なジョブエントリに追加します。キッチンには数多くの鉱石ファイルがありますので、 – AlainD

+0

ハードコードされたバージョンは、プロパティをロードする必要がないため動作します。 –

答えて

0

Jenkinsがrootアカウントでインストールされていると、ファイルがjenkinsユーザーとして上書きされるため、エラーが発生します。これを避けるには、新しいユーザーの下でインストールを行うか、ルートファイルの所有権をjenkinsに変更します(セキュリティ上の問題では推奨されません)。あなたのkettle.propertiesはジェンキンスホーム($ JENKINS_HOME/.kettle)にファイルを移動また