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]

Reply via email to