drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arina Yelchiyeva <arina.yelchiy...@gmail.com>
Subject Re: Drill 1.9.0 - Embedded mode doesn't work on Windows
Date Mon, 05 Dec 2016 11:49:22 GMT
Well, I would not say it's a exactly a glitch :) If
drill.exec.udf.directory.root (not drill.udf.directory.root, exec is
missing) is not set, drill creates udf directories (staging, registry, tmp)
in user home.
Usually user has write permissions in it's home directory (it works fine on
my Windows). Anyway, the best solution here is to override udf root
directory in drill-override.conf.
Example: drill.exec.udf.directory.root: "/F:/some_writable_dir"

Kind regards
Arina

On Sun, Dec 4, 2016 at 10:00 AM, Abhishek Girish <abhishek.girish@gmail.com>
wrote:

> I gave this a try on Windows - downloaded the 1.9.0 release and moved it to
> C:\Users\agirish\apache-drill-1.9.0. I was successfully able to bring up
> Drill in embedded mode. It looks like I did have read/write/execute
> permissions on the dir (by default) - so I'm not sure if that's any
> different from OP's env.
>
> On Sat, Dec 3, 2016 at 7:46 PM, Paul Rogers <progers@maprtech.com> wrote:
>
> > Hi Ivy,
> >
> > Looks like a glitch in the shiny new dynamic UDF feature. Does the
> > directory Users/ivy.chan exist on the C: drive? You can work around this
> in
> > a couple of ways.
> >
> > First, disable the dynamic UDF feature (which is not really needed for an
> > embedded Drillbit). Unfortunately, this works only once the Drillbit is
> up
> > because it is a runtime SQL option:
> >
> > ALTER SESSION SET `exec.udf.enable_dynamic_support` = false
> >
> > The other is to change the location of the directory that the feature is
> > trying to create. Add the following to your $DRILL_HOME/conf/drill-
> override.conf
> > file:
> >
> > drill.udf.directory.root: “C:\Temp”
> >
> > Or any other directory that does, in fact, exist on your system.
> >
> > Let us know if this works. If not, perhaps Arina (who developed the
> > feature) can help provide a better solution.
> >
> > Thanks,
> >
> > - Paul
> >
> >
> > > On Dec 3, 2016, at 6:24 PM, <IChan@us.imshealth.com> <
> > IChan@us.imshealth.com> wrote:
> > >
> > > Hi
> > >
> > > I'm trying out 1.9.0 on our Windows server. When launching the embedded
> > mode, I got the following errors:
> > >
> > >
> > > E:\software\apache-drill-1.9.0\bin>sqlline.bat -u
> "jdbc:drill:zk=local"
> > > DRILL_ARGS - " -u jdbc:drill:zk=local"
> > > HADOOP_HOME not detected...
> > > HBASE_HOME not detected...
> > > Calculating Drill classpath...
> > > Error: Failure in starting embedded Drillbit: org.apache.drill.common.
> > exceptions
> > > .DrillRuntimeException: Error during udf area creation
> > [/C:/Users/ivy.chan/drill
> > > /udf/registry] on file system [file:///] (state=,code=0)
> > > java.sql.SQLException: Failure in starting embedded Drillbit:
> > org.apache.drill.c
> > > ommon.exceptions.DrillRuntimeException: Error during udf area creation
> > [/C:/User
> > > s/ivy.chan/drill/udf/registry] on file system [file:///]
> > >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> > DrillConnection
> > > Impl.java:128)
> > >        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> > newDrillConnection(Dril
> > > lJdbc41Factory.java:70)
> > >        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(
> > DrillFactory.ja
> > > va:69)
> > >        at org.apache.calcite.avatica.UnregisteredDriver.connect(
> > UnregisteredDri
> > > ver.java:143)
> > >        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> > >        at sqlline.DatabaseConnection.connect(DatabaseConnection.
> > java:167)
> > >        at sqlline.DatabaseConnection.getConnection(
> > DatabaseConnection.java:213)
> > >
> > >        at sqlline.Commands.connect(Commands.java:1083)
> > >        at sqlline.Commands.connect(Commands.java:1015)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.
> > > java:62)
> > >        at sun.reflect.DelegatingMethodAccessorImpl.
> > invoke(DelegatingMethodAcces
> > > sorImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:497)
> > >        at sqlline.ReflectiveCommandHandler.execute(
> > ReflectiveCommandHandler.jav
> > > a:36)
> > >        at sqlline.SqlLine.dispatch(SqlLine.java:742)
> > >        at sqlline.SqlLine.initArgs(SqlLine.java:528)
> > >        at sqlline.SqlLine.begin(SqlLine.java:596)
> > >        at sqlline.SqlLine.start(SqlLine.java:375)
> > >        at sqlline.SqlLine.main(SqlLine.java:268)
> > > Caused by: org.apache.drill.common.exceptions.DrillRuntimeException:
> > Error durin
> > > g udf area creation [/C:/Users/ivy.chan/drill/udf/registry] on file
> > system [file
> > > :///]
> > >        at org.apache.drill.common.exceptions.
> > DrillRuntimeException.format(Drill
> > > RuntimeException.java:49)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.createA
> > > rea(RemoteFunctionRegistry.java:246)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.prepare
> > > Areas(RemoteFunctionRegistry.java:208)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.init(Re
> > > moteFunctionRegistry.java:106)
> > >        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
> > >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> > DrillConnection
> > > Impl.java:119)
> > >        ... 18 more
> > > Caused by: java.lang.IllegalStateException: Area
> > [/C:/Users/ivy.chan/drill/udf/r
> > > egistry] must be writable and executable for application user
> > >        at com.google.common.base.Preconditions.checkState(
> > Preconditions.java:19
> > > 7)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.createA
> > > rea(RemoteFunctionRegistry.java:238)
> > >        ... 22 more
> > > apache drill 1.9.0
> > > "got drill?"
> > >
> > > It is working on 1.8.0.
> > >
> > > I also got compile error on sqlline.log:
> > >
> > > 2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher
> -
> > Unable to patch Guava classes.
> > > javassist.CannotCompileException: by java.lang.LinkageError: loader
> > (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate
> > class definition for name: "com/google/common/base/Stopwatch"
> > >                at javassist.ClassPool.toClass(ClassPool.java:1085)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:1028)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:986)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.CtClass.toClass(CtClass.java:1079)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at org.apache.drill.exec.util.
> > GuavaPatcher.patchStopwatch(GuavaPatcher.java:66)
> > ~[drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.exec.util.GuavaPatcher.patch(
> GuavaPatcher.java:36)
> > ~[drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.exec.server.
> > Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.
> DrillConnectionImpl.<init>(DrillConnectionImpl.java:118)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> > newDrillConnection(DrillJdbc41Factory.java:70)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.
> DrillFactory.newConnection(DrillFactory.java:69)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.calcite.avatica.
> UnregisteredDriver.connect(UnregisteredDriver.java:143)
> > [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
> > >                at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at sqlline.DatabaseConnection.
> connect(DatabaseConnection.java:167)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.DatabaseConnection.getConnection(
> DatabaseConnection.java:213)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.Commands.connect(Commands.java:1083)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.Commands.connect(Commands.java:1015)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method) ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> > >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> > >                at java.lang.reflect.Method.invoke(Method.java:497)
> > ~[na:1.8.0_73]
> > >                at sqlline.ReflectiveCommandHandler.execute(
> > ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.dispatch(SqlLine.java:742)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.initArgs(SqlLine.java:528)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.begin(SqlLine.java:596)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.start(SqlLine.java:375)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.main(SqlLine.java:268)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > > Caused by: java.lang.LinkageError: loader (instance of
> > sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition
> > for name: "com/google/common/base/Stopwatch"
> > >                at java.lang.ClassLoader.defineClass1(Native Method)
> > ~[na:1.8.0_73]
> > >                at java.lang.ClassLoader.defineClass(ClassLoader.java:
> 760)
> > ~[na:1.8.0_73]
> > >                at java.lang.ClassLoader.defineClass(ClassLoader.java:
> 642)
> > ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method) ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> > >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> > >                at java.lang.reflect.Method.invoke(Method.java:497)
> > ~[na:1.8.0_73]
> > >                at javassist.ClassPool.toClass2(ClassPool.java:1098)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:1079)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                ... 25 common frames omitted
> > >
> > > Thanks,
> > > Ivy Chan
> > >
> > >
> > >
> > >
> > >
> > > ________________________________
> > > ********************** IMPORTANT--PLEASE READ ************************
> > This electronic message, including its attachments, is CONFIDENTIAL and
> may
> > contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is
> > intended for the authorized recipient of the sender. If you are not the
> > intended recipient, you are hereby notified that any use, disclosure,
> > copying, or distribution of this message or any of the information
> included
> > in it is unauthorized and strictly prohibited. If you have received this
> > message in error, please immediately notify the sender by reply e-mail
> and
> > permanently delete this message and its attachments, along with any
> copies
> > thereof, from all locations received (e.g., computer, mobile device,
> etc.).
> > Thank you. ************************************************************
> > ************
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message