Невозможно подключиться к MongoDb с помощью Pentaho PDI CE

Я новичок в Пентахо. Я пытаюсь прочитать данные из MongoDB с помощью Pentaho Data Integration Community Edition. При попытке выполнить шаг ввода MongoDB я получаю сообщение об ошибке аутентификации. Я обнаружил, что ошибка связана с отсутствием драйвера MongoDb в PDI.

Позже я загрузил файл mongodb-driver-3.2.2.jar и добавил его в папку E: \ pdi-ce-6.0.1.0-386 \ data-integration \ lib. Но проблема все еще сохраняется.

Пытаясь получить Dbs, предоставив сведения о подключении MongoDb на этапе ввода Pentaho MongoDb, я получаю сообщение об ошибке java.nullpointerException.

Может кто-нибудь, дайте мне знать, что я здесь делаю не так?

Сообщение об ошибке при попытке получить базы данных, указав действительные данные сервера Mongo в Spoon:

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)

person Aarthi Priyadharshini    schedule 14.03.2016    source источник
comment
Ваша база данных mongodb расположена на другом сервере?   -  person maximilienAndile    schedule 14.03.2016
comment
да .. MongoDB размещается на другом активном сервере.   -  person Aarthi Priyadharshini    schedule 15.03.2016
comment
Какую версию PDI вы используете?   -  person maximilienAndile    schedule 15.03.2016
comment
Можете дать сообщение об ошибке?   -  person maximilienAndile    schedule 15.03.2016
comment
@ maximilienAndile. Подробности сообщения об ошибке можно найти в обновленном сообщении выше. Также версия PDI 6.0.1.0-386   -  person Aarthi Priyadharshini    schedule 22.03.2016


Ответы (3)


На этапе ввода MongoDB настройка соединения с использованием только имени хоста сервера, без указания имени пользователя и пароля, решает проблему .. !!

person Aarthi Priyadharshini    schedule 12.04.2016

Привет, Аарти Приядхаршини - для этого я нашел здесь ссылку, которая показывает вам, что именно делать - http://wiki.pentaho.com/display/BAD/Read+Data+From+MongoDB

Поскольку MongoDB является платформой для больших данных, она находится в разделе «Большие данные» в представлении «Дизайн». Посмотрите видео по ссылке, чтобы узнать, как именно использовать.

person lincolndidon1    schedule 16.03.2016
comment
В Spotify, новое соединение с базой данных, есть список опций, но не для MongoDB. Не могли бы вы помочь мне с шагами по его созданию? - person Aarthi Priyadharshini; 22.03.2016
comment
Привет, Аарти Приядхаршини - для этого я нашел здесь ссылку, которая показывает вам, что именно делать - wiki.pentaho.com/display/BAD/Read+Data+From+MongoDB Поскольку MongoDB является платформой для больших данных, она находится в параметрах больших данных в представлении «Дизайн». Посмотрите видео по ссылке, чтобы узнать, как именно использовать. - person lincolndidon1; 22.03.2016
comment
Я сделал именно то, что указано в приведенной выше ссылке, но это бесполезно. Даже я попытался загрузить другую версию PDI (pdi-ce-5.0.1.A-stable) по той же ссылке, но проблема не исчезла. - person Aarthi Priyadharshini; 12.04.2016

я решаю свою проблему загрузкой последних версий PDI

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

Содержит авторизацию с mongo 3.2.2 и работает!

Не для производственных помещений!

person user6929173    schedule 06.10.2016