AnsweredAssumed Answered

java.lang.UnsatifiedLinkError with so library on RHEL

Question asked by boucherj on Oct 3, 2017
Latest reply on Oct 16, 2017 by shri_joshi

Hello,

 

The following code:

Configuration hadoopConfiguration = new Configuration()
FileSystem fileSystem = FileSystem.get(URI.create(getClusterEndPoint()), hadoopConfiguration)
fileSystem.mkdirs(new Path(getPathEndpoint(filePath)))

 

Generates the following stacktrace:

Caught: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at com.mapr.fs.ShimLoader.load(ShimLoader.java:243)
at org.apache.hadoop.conf.CoreDefaultProperties.<clinit>(CoreDefaultProperties.java:61)
at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2147)
at org.apache.hadoop.conf.Configuration.getProperties(Configuration.java:2362)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2579)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2531)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2444)
at org.apache.hadoop.conf.Configuration.get(Configuration.java:1245)
at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:180)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:172)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:391)
at org.apache.hadoop.fs.FileSystem$get.call(Unknown Source)
at mapr.impl.service.MaprServiceImpl.createPath(MaprServiceImpl.groovy:27)
at mapr.impl.service.MaprServiceImpl$createPath.call(Unknown Source)
at mapr.impl.configuration.Configuration.createSchemaIfDoesNotExists(Configuration.groovy:64)
at mapr.impl.configuration.Configuration.getVersion(Configuration.groovy:52)
at mapr.impl.configuration.Configuration$getVersion.call(Unknown Source)
at mapr.impl.configuration.ConfigurationService.getConfigurationVersionFromMapr(ConfigurationService.groovy:32)
at mapr.impl.configuration.ConfigurationService$_getConfigurationFilesToApply_closure1.doCall(ConfigurationService.groovy:23)
at mapr.impl.configuration.ConfigurationService.getConfigurationFilesToApply(ConfigurationService.groovy:22)
at mapr.impl.configuration.ConfigurationService$getConfigurationFilesToApply.call(Unknown Source)
at mapr.ConfigurationExecutor.main(ConfigurationExecutor.groovy:35)
Caused by: java.lang.reflect.InvocationTargetException
at com.mapr.fs.ShimLoader.loadNativeLibrary(ShimLoader.java:344)
at com.mapr.fs.ShimLoader.load(ShimLoader.java:226)
... 21 more
Caused by: java.lang.UnsatisfiedLinkError: /tmp/mapr-bamboo-libMapRClient.5.2.0-mapr.so: /tmp/mapr-bamboo-libMapRClient.5.2.0-mapr.so: failed to map segment from shared object: Operation not permitted
at com.mapr.fs.shim.LibraryLoader.load(LibraryLoader.java:31)
... 23 more

 

This code works fine on a different agent (with a MapR client installed); this would indicate a bad installation / configuration of the MapR client where the above code actually fails.

 

OS is RHEL: 3.10.0-327.49.2.el7.x86_64 #1 SMP Mon Feb 27 07:34:07 EST 2017 x86_64 x86_64 x86_64 GNU/Linux

 

Any ideas what the issue could be?  Seems to be related to JNI, outside of Java where it relies on statically linked libraries.

 

Thanks,

 

Jacques

Outcomes