ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Altekruse <altekruseja...@gmail.com>
Subject Re: Apache Drill querying IGFS-accelerated (H)DFS?
Date Fri, 05 Feb 2016 18:09:07 GMT
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 <vozerov@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 <petar@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.
> >
>

Mime
View raw message