You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by Vladimir Ozerov <vo...@gridgain.com> on 2016/02/05 18:55:15 UTC

Re: Apache Drill querying IGFS-accelerated (H)DFS?

*Peter,*

I created the ticket in Ignite JIRA. Hope someone form community will be
able to throw a glance on it soon -
https://issues.apache.org/jira/browse/IGNITE-2568
Please keep an eye on it.

Cross-posting the issue to Drill dev list.

*Dear Drill folks,*

We have our own implementation of Hadoop FileSystem here in Ignite. It has
unique URI prefix ("igfs://") and is normally registered in Hadoop's
core-site.xml like this:

<property>
    <name>fs.igfs.impl</name>
    <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value></property>


However, when we try to use this file system as data source in Drill, the
exception is thrown (see stack trace below). I suspect that default Hadoop
core-site.xml is not taken in consideration by Drill somehow. Could you
please give us a hint on how to properly configure custom Hadoop FileSystem
implementation in your system?

Thank you!.

Vladimir.

Stack trace:

java.io.IOException: No FileSystem for scheme: igfs
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
~[hadoop-common-2.7.1.jar:na]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
~[hadoop-common-2.7.1.jar:na]
at
org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
~[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
~[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
~[drill-java-exec-1.4.0.jar:1.4.0]
at java.security.AccessController.doPrivileged(Native Method)
~[na:1.8.0_40-ea]
at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
~[hadoop-common-2.7.1.jar:na]
at
org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
[drill-java-exec-1.4.0.jar:1.4.0]
at
org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
[drill-java-exec-1.4.0.jar:1.4.0]
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
[drill-java-exec-1.4.0.jar:1.4.0]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
[drill-java-exec-1.4.0.jar:1.4.0]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_40-ea]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_40-ea]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



On Fri, Feb 5, 2016 at 4:18 PM, pshomov <pe...@activitystream.com> wrote:

>
> ​Hi Vladimir,
>
> My bad about that ifgs://, fixed it but it changed nothing.
>
> I don’t think Drill cares much about Hadoop settings. It never asked me to
> point it to an installation or configuration of Hadoop. I believe they have
> their own storage plugin mechanism and one of their built-in plugins
> happens to be the HDFS one.
>
> Here is (part of) the Drill log
>
> 2016-02-05 13:14:03,507 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> ERROR o.a.d.exec.util.ImpersonationUtil - Failed to create DrillFileSystem
> for proxy user: No FileSystem for scheme: igfs
> java.io.IOException: No FileSystem for scheme: igfs
> at
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_40-ea]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40-ea]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40-ea]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
> 2016-02-05 13:14:03,556 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: IOException: No
> FileSystem for scheme: igfs
>
>
> [Error Id: 6c95179a-6d26-498c-905f-dc18509c1651 on 192.168.1.42:31010]
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
> IOException: No FileSystem for scheme: igfs
>
>
> I copied the same ignite jars that go into Hadoop to Drill just in case
> but that did not help either.
> I think the only way is to write a Drill storage plugin for Ignite. Or
> somehow make the Ignite caching happen inside Hadoop and be totally
> transparent to Drill.
>
> Thank you for detailed help, any further ideas are as always welcome ;)
>
> Best regards,
>
> Petar
>
> ------------------------------
> View this message in context: Re: Apache Drill querying IGFS-accelerated
> (H)DFS?
> <http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2859.html>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by pshomov <pe...@activitystream.com>.
​Hi Jason,

I did copy 3 jar files (the same that are copied to Hadoop to achieve the
integration with Ignite)

*$ *ll jars/3rdparty/ignite*


-rw-r--r--@ 1 petar  staff   7.3M Feb  5 13:10
jars/3rdparty/ignite-core-1.5.0.final.jar

-rw-r--r--@ 1 petar  staff   532K Feb  5 13:11
jars/3rdparty/ignite-hadoop-1.5.0.final.jar

-rw-r--r--@ 1 petar  staff    57K Feb  5 13:11
jars/3rdparty/ignite-shmem-1.0.0.jar


Restarted Drill, no help.


About that Hadoop configuration you mentioned, can you please point me to
some piece of documentation about that?

Meanwhile I will just try to add it the default Drill config.


Thank you for your help! Much appreciated !


Best regards


Petar




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2865.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Vladimir Ozerov <vo...@gridgain.com>.
Yep, will do.

On Fri, Feb 5, 2016 at 11:17 PM, Dmitriy Setrakyan <ds...@apache.org>
wrote:

> Great to hear. Would be nice to document this process. Vladimir, do you
> mind taking a first crack at it and post it here for review?
>
> On Fri, Feb 5, 2016 at 12:02 PM, pshomov <pe...@activitystream.com> wrote:
>
>> Hi Jason,
>>
>> adding
>>
>>     <property>
>>
>>         <name>fs.igfs.impl</name>
>>
>>
>> <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
>>
>>     </property>
>>
>>
>>     <property>
>>
>>         <name>fs.AbstractFileSystem.igfs.impl</name>
>>
>>
>> <value>org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem</value>
>>
>>     </property>
>>
>> to the core-site.xml in the Drill conf/ folder tight the whole thing
>> together ;)
>> Now Drill is able to use the igfs:// schema.
>>
>> Thank you guys so much for the tremendous help, I am amazed by this
>> community!
>> Keep it up!
>>
>> Best regards,
>>
>> Petar
>> ​
>>
>> ------------------------------
>> View this message in context: Re: Apache Drill querying IGFS-accelerated
>> (H)DFS?
>> <http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2866.html>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Great to hear. Would be nice to document this process. Vladimir, do you
mind taking a first crack at it and post it here for review?

On Fri, Feb 5, 2016 at 12:02 PM, pshomov <pe...@activitystream.com> wrote:

> Hi Jason,
>
> adding
>
>     <property>
>
>         <name>fs.igfs.impl</name>
>
>
> <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
>
>     </property>
>
>
>     <property>
>
>         <name>fs.AbstractFileSystem.igfs.impl</name>
>
>
> <value>org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem</value>
>
>     </property>
>
> to the core-site.xml in the Drill conf/ folder tight the whole thing
> together ;)
> Now Drill is able to use the igfs:// schema.
>
> Thank you guys so much for the tremendous help, I am amazed by this
> community!
> Keep it up!
>
> Best regards,
>
> Petar
> ​
>
> ------------------------------
> View this message in context: Re: Apache Drill querying IGFS-accelerated
> (H)DFS?
> <http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2866.html>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by pshomov <pe...@activitystream.com>.
Hi Jason,

adding

    <property>

        <name>fs.igfs.impl</name>

        <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>

    </property>


    <property>

        <name>fs.AbstractFileSystem.igfs.impl</name>

        <value>org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem</value>

    </property>

to the core-site.xml in the Drill conf/ folder tight the whole thing
together ;)
Now Drill is able to use the igfs:// schema.

Thank you guys so much for the tremendous help, I am amazed by this
community!
Keep it up!

Best regards,

Petar
​




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2866.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Jason Altekruse <al...@gmail.com>.
Hello Vladimir,

I am not certain if Drill will source the core-site.xml file from the
hadoop directory, but I know that you can provide one in the Drill conf/
directory.

That being said, I did not think that a new core-site entry was needed to
add a filesystem implementation. I thought that the JARs simply needed to
be added to the classpath. Have you added the JARs containing the ignite
FileSystem implementation to the Drill classpath? The easiest way I know to
do this is by copying them into jars/3rdparty directory in the Drill
installation.

- Jason

On Fri, Feb 5, 2016 at 9:55 AM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> *Peter,*
>
> I created the ticket in Ignite JIRA. Hope someone form community will be
> able to throw a glance on it soon -
> https://issues.apache.org/jira/browse/IGNITE-2568
> Please keep an eye on it.
>
> Cross-posting the issue to Drill dev list.
>
> *Dear Drill folks,*
>
> We have our own implementation of Hadoop FileSystem here in Ignite. It has
> unique URI prefix ("igfs://") and is normally registered in Hadoop's
> core-site.xml like this:
>
> <property>
>     <name>fs.igfs.impl</name>
>
> <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value></property>
>
>
> However, when we try to use this file system as data source in Drill, the
> exception is thrown (see stack trace below). I suspect that default Hadoop
> core-site.xml is not taken in consideration by Drill somehow. Could you
> please give us a hint on how to properly configure custom Hadoop FileSystem
> implementation in your system?
>
> Thank you!.
>
> Vladimir.
>
> Stack trace:
>
> java.io.IOException: No FileSystem for scheme: igfs
> at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> ~[hadoop-common-2.7.1.jar:na]
> at
>
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_40-ea]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> at
>
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> ~[hadoop-common-2.7.1.jar:na]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40-ea]
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40-ea]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>
>
>
> On Fri, Feb 5, 2016 at 4:18 PM, pshomov <pe...@activitystream.com> wrote:
>
> >
> > ​Hi Vladimir,
> >
> > My bad about that ifgs://, fixed it but it changed nothing.
> >
> > I don’t think Drill cares much about Hadoop settings. It never asked me
> to
> > point it to an installation or configuration of Hadoop. I believe they
> have
> > their own storage plugin mechanism and one of their built-in plugins
> > happens to be the HDFS one.
> >
> > Here is (part of) the Drill log
> >
> > 2016-02-05 13:14:03,507 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> > ERROR o.a.d.exec.util.ImpersonationUtil - Failed to create
> DrillFileSystem
> > for proxy user: No FileSystem for scheme: igfs
> > java.io.IOException: No FileSystem for scheme: igfs
> > at
> > org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> >
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.8.0_40-ea]
> > at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> > at
> >
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > [na:1.8.0_40-ea]
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > [na:1.8.0_40-ea]
> > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
> > 2016-02-05 13:14:03,556 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> > ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: IOException: No
> > FileSystem for scheme: igfs
> >
> >
> > [Error Id: 6c95179a-6d26-498c-905f-dc18509c1651 on 192.168.1.42:31010]
> > org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
> > IOException: No FileSystem for scheme: igfs
> >
> >
> > I copied the same ignite jars that go into Hadoop to Drill just in case
> > but that did not help either.
> > I think the only way is to write a Drill storage plugin for Ignite. Or
> > somehow make the Ignite caching happen inside Hadoop and be totally
> > transparent to Drill.
> >
> > Thank you for detailed help, any further ideas are as always welcome ;)
> >
> > Best regards,
> >
> > Petar
> >
> > ------------------------------
> > View this message in context: Re: Apache Drill querying IGFS-accelerated
> > (H)DFS?
> > <
> http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2859.html
> >
> > Sent from the Apache Ignite Users mailing list archive
> > <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
> >
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Vladimir Ozerov <vo...@gridgain.com>.
It looks like file system configuration is created inside
WorkspaceSchemaFactory
constructor:

this.fsConf = plugin.getFsConf();

Does it mean that we have to implement our own Ignite's FileSystemPlugin to
be able to work with Drill?

On Fri, Feb 5, 2016 at 8:55 PM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> *Peter,*
>
> I created the ticket in Ignite JIRA. Hope someone form community will be
> able to throw a glance on it soon -
> https://issues.apache.org/jira/browse/IGNITE-2568
> Please keep an eye on it.
>
> Cross-posting the issue to Drill dev list.
>
> *Dear Drill folks,*
>
> We have our own implementation of Hadoop FileSystem here in Ignite. It has
> unique URI prefix ("igfs://") and is normally registered in Hadoop's
> core-site.xml like this:
>
> <property>
>     <name>fs.igfs.impl</name>
>     <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value></property>
>
>
> However, when we try to use this file system as data source in Drill, the
> exception is thrown (see stack trace below). I suspect that default Hadoop
> core-site.xml is not taken in consideration by Drill somehow. Could you
> please give us a hint on how to properly configure custom Hadoop FileSystem
> implementation in your system?
>
> Thank you!.
>
> Vladimir.
>
> Stack trace:
>
> java.io.IOException: No FileSystem for scheme: igfs
> at
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_40-ea]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40-ea]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40-ea]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>
>
>
> On Fri, Feb 5, 2016 at 4:18 PM, pshomov <pe...@activitystream.com> wrote:
>
>>
>> ​Hi Vladimir,
>>
>> My bad about that ifgs://, fixed it but it changed nothing.
>>
>> I don’t think Drill cares much about Hadoop settings. It never asked me
>> to point it to an installation or configuration of Hadoop. I believe they
>> have their own storage plugin mechanism and one of their built-in plugins
>> happens to be the HDFS one.
>>
>> Here is (part of) the Drill log
>>
>> 2016-02-05 13:14:03,507 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
>> ERROR o.a.d.exec.util.ImpersonationUtil - Failed to create DrillFileSystem
>> for proxy user: No FileSystem for scheme: igfs
>> java.io.IOException: No FileSystem for scheme: igfs
>> at
>> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at java.security.AccessController.doPrivileged(Native Method)
>> ~[na:1.8.0_40-ea]
>> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
>> at
>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> [na:1.8.0_40-ea]
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_40-ea]
>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>> 2016-02-05 13:14:03,556 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
>> ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: IOException: No
>> FileSystem for scheme: igfs
>>
>>
>> [Error Id: 6c95179a-6d26-498c-905f-dc18509c1651 on 192.168.1.42:31010]
>> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
>> IOException: No FileSystem for scheme: igfs
>>
>>
>> I copied the same ignite jars that go into Hadoop to Drill just in case
>> but that did not help either.
>> I think the only way is to write a Drill storage plugin for Ignite. Or
>> somehow make the Ignite caching happen inside Hadoop and be totally
>> transparent to Drill.
>>
>> Thank you for detailed help, any further ideas are as always welcome ;)
>>
>> Best regards,
>>
>> Petar
>>
>> ------------------------------
>> View this message in context: Re: Apache Drill querying IGFS-accelerated
>> (H)DFS?
>> <http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2859.html>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Vladimir Ozerov <vo...@gridgain.com>.
It looks like file system configuration is created inside
WorkspaceSchemaFactory
constructor:

this.fsConf = plugin.getFsConf();

Does it mean that we have to implement our own Ignite's FileSystemPlugin to
be able to work with Drill?

On Fri, Feb 5, 2016 at 8:55 PM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> *Peter,*
>
> I created the ticket in Ignite JIRA. Hope someone form community will be
> able to throw a glance on it soon -
> https://issues.apache.org/jira/browse/IGNITE-2568
> Please keep an eye on it.
>
> Cross-posting the issue to Drill dev list.
>
> *Dear Drill folks,*
>
> We have our own implementation of Hadoop FileSystem here in Ignite. It has
> unique URI prefix ("igfs://") and is normally registered in Hadoop's
> core-site.xml like this:
>
> <property>
>     <name>fs.igfs.impl</name>
>     <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value></property>
>
>
> However, when we try to use this file system as data source in Drill, the
> exception is thrown (see stack trace below). I suspect that default Hadoop
> core-site.xml is not taken in consideration by Drill somehow. Could you
> please give us a hint on how to properly configure custom Hadoop FileSystem
> implementation in your system?
>
> Thank you!.
>
> Vladimir.
>
> Stack trace:
>
> java.io.IOException: No FileSystem for scheme: igfs
> at
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_40-ea]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> ~[hadoop-common-2.7.1.jar:na]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40-ea]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40-ea]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>
>
>
> On Fri, Feb 5, 2016 at 4:18 PM, pshomov <pe...@activitystream.com> wrote:
>
>>
>> ​Hi Vladimir,
>>
>> My bad about that ifgs://, fixed it but it changed nothing.
>>
>> I don’t think Drill cares much about Hadoop settings. It never asked me
>> to point it to an installation or configuration of Hadoop. I believe they
>> have their own storage plugin mechanism and one of their built-in plugins
>> happens to be the HDFS one.
>>
>> Here is (part of) the Drill log
>>
>> 2016-02-05 13:14:03,507 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
>> ERROR o.a.d.exec.util.ImpersonationUtil - Failed to create DrillFileSystem
>> for proxy user: No FileSystem for scheme: igfs
>> java.io.IOException: No FileSystem for scheme: igfs
>> at
>> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
>> ~[hadoop-common-2.7.1.jar:na]
>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
>> ~[drill-java-exec-1.4.0.jar:1.4.0]
>> at java.security.AccessController.doPrivileged(Native Method)
>> ~[na:1.8.0_40-ea]
>> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
>> at
>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
>> ~[hadoop-common-2.7.1.jar:na]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
>> [drill-java-exec-1.4.0.jar:1.4.0]
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> [na:1.8.0_40-ea]
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> [na:1.8.0_40-ea]
>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>> 2016-02-05 13:14:03,556 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
>> ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: IOException: No
>> FileSystem for scheme: igfs
>>
>>
>> [Error Id: 6c95179a-6d26-498c-905f-dc18509c1651 on 192.168.1.42:31010]
>> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
>> IOException: No FileSystem for scheme: igfs
>>
>>
>> I copied the same ignite jars that go into Hadoop to Drill just in case
>> but that did not help either.
>> I think the only way is to write a Drill storage plugin for Ignite. Or
>> somehow make the Ignite caching happen inside Hadoop and be totally
>> transparent to Drill.
>>
>> Thank you for detailed help, any further ideas are as always welcome ;)
>>
>> Best regards,
>>
>> Petar
>>
>> ------------------------------
>> View this message in context: Re: Apache Drill querying IGFS-accelerated
>> (H)DFS?
>> <http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2859.html>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>

Re: Apache Drill querying IGFS-accelerated (H)DFS?

Posted by Jason Altekruse <al...@gmail.com>.
Hello Vladimir,

I am not certain if Drill will source the core-site.xml file from the
hadoop directory, but I know that you can provide one in the Drill conf/
directory.

That being said, I did not think that a new core-site entry was needed to
add a filesystem implementation. I thought that the JARs simply needed to
be added to the classpath. Have you added the JARs containing the ignite
FileSystem implementation to the Drill classpath? The easiest way I know to
do this is by copying them into jars/3rdparty directory in the Drill
installation.

- Jason

On Fri, Feb 5, 2016 at 9:55 AM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> *Peter,*
>
> I created the ticket in Ignite JIRA. Hope someone form community will be
> able to throw a glance on it soon -
> https://issues.apache.org/jira/browse/IGNITE-2568
> Please keep an eye on it.
>
> Cross-posting the issue to Drill dev list.
>
> *Dear Drill folks,*
>
> We have our own implementation of Hadoop FileSystem here in Ignite. It has
> unique URI prefix ("igfs://") and is normally registered in Hadoop's
> core-site.xml like this:
>
> <property>
>     <name>fs.igfs.impl</name>
>
> <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value></property>
>
>
> However, when we try to use this file system as data source in Drill, the
> exception is thrown (see stack trace below). I suspect that default Hadoop
> core-site.xml is not taken in consideration by Drill somehow. Could you
> please give us a hint on how to properly configure custom Hadoop FileSystem
> implementation in your system?
>
> Thank you!.
>
> Vladimir.
>
> Stack trace:
>
> java.io.IOException: No FileSystem for scheme: igfs
> at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> ~[hadoop-common-2.7.1.jar:na]
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> ~[hadoop-common-2.7.1.jar:na]
> at
>
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> ~[drill-java-exec-1.4.0.jar:1.4.0]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.8.0_40-ea]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> at
>
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> ~[hadoop-common-2.7.1.jar:na]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> [drill-java-exec-1.4.0.jar:1.4.0]
> at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40-ea]
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40-ea]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
>
>
>
> On Fri, Feb 5, 2016 at 4:18 PM, pshomov <pe...@activitystream.com> wrote:
>
> >
> > ​Hi Vladimir,
> >
> > My bad about that ifgs://, fixed it but it changed nothing.
> >
> > I don’t think Drill cares much about Hadoop settings. It never asked me
> to
> > point it to an installation or configuration of Hadoop. I believe they
> have
> > their own storage plugin mechanism and one of their built-in plugins
> > happens to be the HDFS one.
> >
> > Here is (part of) the Drill log
> >
> > 2016-02-05 13:14:03,507 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> > ERROR o.a.d.exec.util.ImpersonationUtil - Failed to create
> DrillFileSystem
> > for proxy user: No FileSystem for scheme: igfs
> > java.io.IOException: No FileSystem for scheme: igfs
> > at
> > org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
> > ~[hadoop-common-2.7.1.jar:na]
> > at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> >
> org.apache.drill.exec.store.dfs.DrillFileSystem.<init>(DrillFileSystem.java:92)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:213)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil$2.run(ImpersonationUtil.java:210)
> > ~[drill-java-exec-1.4.0.jar:1.4.0]
> > at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.8.0_40-ea]
> > at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_40-ea]
> > at
> >
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> > ~[hadoop-common-2.7.1.jar:na]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:210)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.util.ImpersonationUtil.createFileSystem(ImpersonationUtil.java:202)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:150)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:131)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.store.StoragePluginRegistry$DrillSchemaFactory.registerSchemas(StoragePluginRegistry.java:403)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:166)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:143)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:129)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> org.apache.drill.exec.planner.sql.DrillSqlWorker.<init>(DrillSqlWorker.java:93)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:907)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244)
> > [drill-java-exec-1.4.0.jar:1.4.0]
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > [na:1.8.0_40-ea]
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > [na:1.8.0_40-ea]
> > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]
> > 2016-02-05 13:14:03,556 [294b5fe3-8f63-2134-67e0-42f7111ead44:foreman]
> > ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: IOException: No
> > FileSystem for scheme: igfs
> >
> >
> > [Error Id: 6c95179a-6d26-498c-905f-dc18509c1651 on 192.168.1.42:31010]
> > org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
> > IOException: No FileSystem for scheme: igfs
> >
> >
> > I copied the same ignite jars that go into Hadoop to Drill just in case
> > but that did not help either.
> > I think the only way is to write a Drill storage plugin for Ignite. Or
> > somehow make the Ignite caching happen inside Hadoop and be totally
> > transparent to Drill.
> >
> > Thank you for detailed help, any further ideas are as always welcome ;)
> >
> > Best regards,
> >
> > Petar
> >
> > ------------------------------
> > View this message in context: Re: Apache Drill querying IGFS-accelerated
> > (H)DFS?
> > <
> http://apache-ignite-users.70518.x6.nabble.com/Apache-Drill-querying-IGFS-accelerated-H-DFS-tp2840p2859.html
> >
> > Sent from the Apache Ignite Users mailing list archive
> > <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
> >
>