Yep could do that too, the argument could just be something like: java.arg.tmp=-Djava.io.tmpdir=/path/to/tmpdir
Regards, Matt On Fri, Jul 27, 2018 at 8:00 AM Otto Fowler <[email protected]> wrote: > > Why not have the java tmp dir be configurable and make sure this doesn’t > happen for any other possible nar? > It is a more generic solution. > > > On July 26, 2018 at 17:23:31, Matt Burgess ([email protected]) wrote: > > This has been biting a few users lately, not sure when it changed > exactly, but the Hive NAR uses a version of Snappy that tries to > extract the native Snappy library into a location pointed to by the > "java.io.tmpdir" variable, which IIRC is /tmp/<something>. The /tmp > directory sometimes has a noexec restriction on it, and/or the OS user > running NiFi does not have permissions to read/write/execute that > directory. I haven't tried this workaround but I believe it has worked > for other folks: Add a line under your other "java.args.X" lines in > bootstrap.conf such as: > > java.arg.snappy=-Dorg.xerial.snappy.tempdir=/path/to/nifi/lib/ > > Where the directory is the full path to NiFi's lib/ directory. This > will cause the native Snappy library to be extracted there, but since > the Snappy Java class is the only one attempting to load the library, > it shouldn't cause any issues by being there. > > Have other folks run into this? I wonder if we should just add this > argument to bootstrap.conf to avoid any potential issues, but of > course we'd want to make sure that it doesn't introduce any issues > either. > > Regards, > Matt > On Thu, Jul 26, 2018 at 2:49 PM geoff.craig <[email protected]> wrote: > > > > Here is the error: > > > > 2018-07-26 18:48:49,013 ERROR [main] org.apache.nifi.NiFi Failure to launch > > NiFi due to java.util.ServiceConfigurationError: > > org.apache.nifi.processor.Processor: Provider > > org.apache.nifi.processors.hive.PutHiveStreaming could not be instantiated > > java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: > > Provider org.apache.nifi.processors.hive.PutHiveStreaming could not be > > instantiated > > at java.util.ServiceLoader.fail(ServiceLoader.java:232) > > at java.util.ServiceLoader.access$100(ServiceLoader.java:185) > > at > > java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) > > at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) > > at java.util.ServiceLoader$1.next(ServiceLoader.java:480) > > at > > org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:148) > > at > > org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:123) > > at > > org.apache.nifi.web.server.JettyServer.start(JettyServer.java:832) > > at org.apache.nifi.NiFi.<init>(NiFi.java:157) > > at org.apache.nifi.NiFi.<init>(NiFi.java:71) > > at org.apache.nifi.NiFi.main(NiFi.java:292) > > Caused by: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] > > null > > at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:239) > > at org.xerial.snappy.Snappy.<clinit>(Snappy.java:48) > > at > > org.apache.nifi.processors.hive.PutHiveStreaming.<clinit>(PutHiveStreaming.java:152) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > > at java.lang.Class.newInstance(Class.java:442) > > at > > java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) > > ... 8 common frames omitted > > > > > > > > > > -- > > Sent from: http://apache-nifi-users-list.2361937.n4.nabble.com/
