i developed a new storage module, because our company use mongo for all.
I use cassandra module as guide.
I copy mongo druid-gridfs-storage-0.6.106-SNAPSHOT.jar and mongo-java-driver-2.12.1.jar to the lib folder.
Node modes coordinator, historical, broker, overload is working fine.
The problem exists on realtime mode, is trying to register the module twice
The error:
Exception in thread "main" com.google.inject.CreationException: Guice creation errors:
1) A binding to com.google.common.base.Supplier<io.druid.storage.gridfs.GridfsDataSegmentConfig> was already configured at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:112).
at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:112)
2) A binding to io.druid.storage.gridfs.GridfsDataSegmentConfig was already configured at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:113).
at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:113)
2 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at io.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:344)
at io.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:56)
at io.druid.cli.ServerRunnable.run(ServerRunnable.java:39)
at io.druid.cli.Main.main(Main.java:92)
The command: java -Xmx256m -Duser.timezone=UTC -Dfile.encoding=UTF-8 -Ddruid.realtime.specFile=examples/indexing/wikipedia.spec -classpath lib/*:config/realtime/ io.druid.cli.Main server realtime
I am using wikipedia specfile.