Created on 08-07-2018 03:19 PM
Using cloudbreak to launch HDF (specifically NiFi), an error may prevent launching an instance. In the logs (/usr/hdf/current/nifi/logs/nifi-app.log) the following error is produced:
pache.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) .... Caused by: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:239) ....
This is generally caused by by snappy library extracting to /tmp (generally defined in java.io.tmpdir).
To fix this, do one of the following
Template for bootstrap.conf
java.arg.snappy=-Dorg.xerial.snappy.tempdir=/usr/hdf/current/nifi/tmp
That's it!
Created on 08-10-2018 05:10 PM
Thank you. You posted this just in time. I had this same issue today and following your 2nd option fixed it.
Created on 08-10-2018 05:11 PM
Super! glad I can help
Created on 09-06-2018 04:58 PM
This isn't limited to cloud installations, any server where /tmp is mounted noexec will have this issue and that is generally considered a security best practice. HDF 3.1.0 did not have this issue
Created on 10-08-2018 09:55 PM
granted permissions to temp dir, added the snappy temp dir parameter. However, the same error shows up while launching the nifi.
Created on 10-08-2018 10:07 PM
The error reported in bootstrap log file was
2018-10-08 18:06:37,982 ERROR [NiFi logging handler] org.apache.nifi.StdErr Caused by: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.0.5-libsnappyjava.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /tmp/snappy-1.0.5-libsnappyjava.so)