Symptoms
When starting up a Datameer environment that is configured to connect to a MapR filesystem, the filesystem is inaccessible. Furthermore, the following error is observed in the conductor.log file:
system ERROR 00:00 (ConnectionInjector.java:73) - Failed to configure upload data store. datameer.dap.sdk.util.ExceptionUtil$WrappedThreadException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at datameer.dap.sdk.util.ExceptionUtil.wrapInThreadException(ExceptionUtil.java:271) at datameer.dap.sdk.util.HadoopUtil.executeTimeRestrictedCall(HadoopUtil.java:154) at datameer.dap.sdk.util.HadoopUtil.getFileSystem(HadoopUtil.java:88) at datameer.dap.sdk.util.HadoopUtil.getFileSystem(HadoopUtil.java:72) at datameer.mapr.MaprGridMode.getFileSystem(MaprGridMode.java:43) at datameer.dap.common.entity.properties.HadoopConfiguration.getStorageFileSystem(HadoopConfiguration.java:868) at datameer.dap.conductor.util.spring.deploy.impl.ConnectionInjector.injectUploadDataStore(ConnectionInjector.java:71) at datameer.dap.conductor.util.spring.deploy.impl.ConnectionInjector.injectData(ConnectionInjector.java:48) at datameer.dap.conductor.util.spring.deploy.DataInjectorService.injectData(DataInjectorService.java:68) at datameer.dap.conductor.util.spring.deploy.DataInjectorService.runInjectors(DataInjectorService.java:58) at datameer.dap.conductor.util.spring.deploy.DataInjectorService.access$100(DataInjectorService.java:28) at datameer.dap.conductor.util.spring.deploy.DataInjectorService$1.run(DataInjectorService.java:50) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at datameer.dap.conductor.webapp.security.DatameerSecurityService.runAsUser(DatameerSecurityService.java:124) at datameer.dap.conductor.webapp.security.DatameerSecurityService.runAsUser(DatameerSecurityService.java:139) at datameer.dap.conductor.util.spring.deploy.DataInjectorService.inject(DataInjectorService.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:393) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1415) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:518) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at datameer.dap.conductor.webapp.ContextListener.contextInitialized(ContextListener.java:83) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.mortbay.start.Main.invokeMain(Main.java:194) at org.mortbay.start.Main.start(Main.java:534) at org.mortbay.start.Main.start(Main.java:441) at org.mortbay.start.Main.main(Main.java:119) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:115) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1501) at org.apache.hadoop.fs.FileSystem.access$100(FileSystem.java:69) at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1536) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1518) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:235) at datameer.dap.sdk.util.HadoopUtil$1.call(HadoopUtil.java:91) at datameer.dap.sdk.util.HadoopUtil$1.call(HadoopUtil.java:88) at datameer.dap.sdk.util.HadoopUtil$TimeoutThread.run(HadoopUtil.java:127) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:113) ... 8 more Caused by: java.lang.UnsatisfiedLinkError: com.mapr.fs.jni.MapRClient.GetUserInfo(Lcom/mapr/fs/jni/MapRUserInfo;)I at com.mapr.fs.jni.MapRClient.GetUserInfo(Native Method) at com.mapr.fs.MapRFileSystem.InitializeUserInfo(MapRFileSystem.java:108) at com.mapr.fs.MapRFileSystem.<init>(MapRFileSystem.java:118) ... 13 more |
In a couple environments, this was observed following a Datameer library change after a recent upgrade from MapR filesystem 2.1 to MapR filesystem 3.0.
Cause
The MapR Filesystem library files are being loaded improperly without any added JAVA_OPTIONS.
Resolution
To resolve this issue, add the following parameter to the active JAVA_OPTIONS (in the etc/das-env.sh file for example):
-Dmapr.library.flatclass |
Note that this parameter is included by default in Datameer 4.0 and later when shipped with the MapR 3.0 libraries.
Comments
0 comments
Please sign in to leave a comment.