11noskcire opened a new issue #11598:
URL: https://github.com/apache/druid/issues/11598
### Affected Version
0.20.2
### Description
#### Cluster size
nano-quickstart (i'm using this to see if the extension works or not before
doing it on real cluster)
#### Steps to reproduce
- Configure hdfs as deep storage
- Include `druid-ranger-security` in `druid.extensions.loadList`
- Start druid services
As a side note i only included it in `druid.extensions.loadList`, not yet
using it in authorization config
#### Error message
the error message is same on all druid services
```
2021-08-15T12:09:09,486 INFO [main] com.google.inject.Guice - An exception
was caught and reported. Message: java.io.IOException: No FileSystem for
scheme: hdfs
java.lang.RuntimeException: java.io.IOException: No FileSystem for scheme:
hdfs
at
org.apache.druid.security.ranger.authorizer.RangerSecurityDruidModule.configure(RangerSecurityDruidModule.java:59)
~[?:?]
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
~[guice-4.1.0.jar:?]
at com.google.inject.spi.Elements.getElements(Elements.java:110)
~[guice-4.1.0.jar:?]
at
com.google.inject.util.Modules$OverrideModule.configure(Modules.java:198)
~[guice-4.1.0.jar:?]
at
com.google.inject.AbstractModule.configure(AbstractModule.java:62)
~[guice-4.1.0.jar:?]
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
~[guice-4.1.0.jar:?]
at com.google.inject.spi.Elements.getElements(Elements.java:110)
~[guice-4.1.0.jar:?]
at
com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
[guice-4.1.0.jar:?]
at
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
[guice-4.1.0.jar:?]
at com.google.inject.Guice.createInjector(Guice.java:99)
[guice-4.1.0.jar:?]
at com.google.inject.Guice.createInjector(Guice.java:73)
[guice-4.1.0.jar:?]
at com.google.inject.Guice.createInjector(Guice.java:62)
[guice-4.1.0.jar:?]
at
org.apache.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:433)
[druid-server-0.20.2.jar:0.20.2]
at
org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:69)
[druid-services-0.20.2.jar:0.20.2]
at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:62)
[druid-services-0.20.2.jar:0.20.2]
at org.apache.druid.cli.Main.main(Main.java:113)
[druid-services-0.20.2.jar:0.20.2]
Caused by: java.io.IOException: No FileSystem for scheme: hdfs
at
org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2799) ~[?:?]
at
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2810) ~[?:?]
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100)
~[?:?]
at
org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2849) ~[?:?]
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2831)
~[?:?]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:389) ~[?:?]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:181) ~[?:?]
at
org.apache.druid.security.ranger.authorizer.RangerSecurityDruidModule.configure(RangerSecurityDruidModule.java:56)
~[?:?]
... 15 more
Exception in thread "main" java.lang.RuntimeException:
com.google.inject.CreationException: Unable to create injector, see the
following errors:
1) An exception was caught and reported. Message: java.io.IOException: No
FileSystem for scheme: hdfs
at
com.google.inject.util.Modules$OverrideModule.configure(Modules.java:198)
1 error
at
org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:72)
at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:62)
at org.apache.druid.cli.Main.main(Main.java:113)
Caused by: com.google.inject.CreationException: Unable to create injector,
see the following errors:
1) An exception was caught and reported. Message: java.io.IOException: No
FileSystem for scheme: hdfs
at
com.google.inject.util.Modules$OverrideModule.configure(Modules.java:198)
1 error
at
com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470)
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:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at
org.apache.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:433)
at
org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:69)
... 2 more
Caused by: java.lang.RuntimeException: java.io.IOException: No FileSystem
for scheme: hdfs
at
org.apache.druid.security.ranger.authorizer.RangerSecurityDruidModule.configure(RangerSecurityDruidModule.java:59)
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at
com.google.inject.util.Modules$OverrideModule.configure(Modules.java:198)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at
com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
... 7 more
Caused by: java.io.IOException: No FileSystem for scheme: hdfs
at
org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2799)
at
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2810)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100)
at
org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2849)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2831)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:389)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:181)
at
org.apache.druid.security.ranger.authorizer.RangerSecurityDruidModule.configure(RangerSecurityDruidModule.java:56)
... 15 more
```
#### Any debugging
I don't know if this is correct, but i searched the source code
[here](https://github.com/apache/druid/blob/177264c6490871e6a557f087270dfbd29723e60b/extensions-core/druid-ranger-security/src/main/java/org/apache/druid/security/ranger/authorizer/RangerSecurityDruidModule.java#L56)
which using module `org.apache.hadoop.fs.FileSystem`, which i found later in
the
[pom.xml](https://github.com/apache/druid/blob/177264c6490871e6a557f087270dfbd29723e60b/extensions-core/druid-ranger-security/pom.xml#L250)
only include `hadoop-common` as dependency (according to [this SO
thread](https://stackoverflow.com/questions/17265002/hadoop-no-filesystem-for-scheme-file)
you must use hadoop-hdfs instead)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]