1

ペンタホ初心者です。Pentaho Data Integration Community Edition を使用して MongoDB からデータを読み込もうとしています。MongoDB 入力ステップを実行しようとすると、認証失敗エラーが発生します。エラーは、PDI に MongoDb ドライバーがないことが原因であることがわかりました。

その後、mongodb-driver-3.2.2.jar ファイルをダウンロードし、E:\pdi-ce-6.0.1.0-386\data-integration\lib に追加しました。しかし、それでも問題は解決しません。

Pentaho MongoDb Input ステップで MongoDb 接続の詳細を提供して Dbs を取得しようとすると、エラー java.nullpointerException が発生します。

誰かが私がここで間違っていることを教えてもらえますか?

Spoonで有効な Mongo Server の詳細を提供して DB を取得しようとしたときのエラー メッセージ:

Unable to connect to MongoDB - check connection details : 'ok' should never be null...

エラーの詳細と、可能性のある例外のスタック トレース:

org.pentaho.di.core.exception.KettleException: 
java.lang.IllegalArgumentException: 'ok' should never be null...
'ok' should never be null...

    at org.pentaho.mongo.wrapper.NoAuthMongoClientWrapper.getDatabaseNames(NoAuthMongoClientWrapper.java:358)
    at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.setupDBNames(MongoDbInputDialog.java:1442)
    at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.access$300(MongoDbInputDialog.java:82)
    at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog$4.widgetSelected(MongoDbInputDialog.java:450)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.trans.steps.mongodbinput.MongoDbInputDialog.open(MongoDbInputDialog.java:1079)
    at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:124)
    at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8797)
    at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3027)
    at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:744)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1316)
    at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7979)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9310)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:654)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: java.lang.IllegalArgumentException: 'ok' should never be null...
    at com.mongodb.CommandResult.ok(CommandResult.java:43)
    at com.mongodb.CommandResult.throwOnError(CommandResult.java:109)
    at com.mongodb.DBPort$NativeAuthenticator.authenticate(DBPort.java:545)
    at com.mongodb.DBPort.authenticate(DBPort.java:322)
    at com.mongodb.DBPort.checkAuth(DBPort.java:333)
    at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:243)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:216)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:288)
    at com.mongodb.DB.command(DB.java:261)
    at com.mongodb.DB.command(DB.java:243)
    at com.mongodb.DB.command(DB.java:300)
    at com.mongodb.Mongo.getDatabaseNames(Mongo.java:384)
    at org.pentaho.mongo.wrapper.NoAuthMongoClientWrapper.getDatabaseNames(NoAuthMongoClientWrapper.java:353)
4

3 に答える 3

2

MongoDB の入力ステップで、ユーザー名とパスワードを指定せずに、サーバーのホスト名だけで接続を構成すると、問題が解決します.. !!

于 2016-04-12T13:43:58.083 に答える
0

PDI の最新バージョンをダウンロードする際の問題を解決します

http://ci.pentaho.com/view/Data%20Integration/job/Kettle/

mongo 3.2.2 での認証が含まれており、動作します!

本番環境向けではありません!

于 2016-10-06T00:03:54.273 に答える
0

こんにちは Aarthi Priyadharshini - これを行うには、何をすべきかを正確に示すリンクを見つけました - http://wiki.pentaho.com/display/BAD/Read+Data+From+MongoDB

MongoDB はビッグ データ プラットフォームであるため、デザイン ビューのビッグ データ オプションの下にあります。正確な使用方法については、リンク先のビデオをご覧ください。

于 2016-03-16T15:15:38.577 に答える