Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here. Want to know more about what has changed? Check out the Community News blog.

Hbase: Could not find or load main class shell

Hbase: Could not find or load main class shell

New Contributor

Unable to start Hbase shell or do any validation. Please help.

~/hbase/conf $ echo $JAVA_HOME

/usr/java/jdk64-1.8.0_91

 

hbase-site.xml:

 

<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
//Here you have to set the path where you want HBase to store its files.
<property>
<name>hbase.rootdir</name>
<value>hdfs://host1:8020/hbase</value>
</property>

//Here you have to set the path where you want HBase to store its built in zookeeper files.
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/ngs6/hadoop/zookeeper</value>
</property>
<property>
<name>dfs.client.hedged.read.threadpool.size</name>
<value>20</value> <!-- 20 threads -->
</property>
<property>
<name>dfs.client.hedged.read.threshold.millis</name>
<value>10</value> <!-- 10 milliseconds -->
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>host1:2181,host2:2181,host3:2181,host4:2181</value>
</property>

</configuration>

 

 

 

 

~/hbase/conf $ hbase shell
2017-07-14 06:50:39,655 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: /tmp/jffi8692824047382613784.tmp: /tmp/jffi8692824047382613784.tmp: failed to map segment from shared object: Operation not permitted
at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:90)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)
at com.kenai.jffi.Library.openLibrary(Library.java:151)
at com.kenai.jffi.Library.getCachedInstance(Library.java:125)
at com.kenai.jaffl.provider.jffi.Library.loadNativeLibraries(Library.java:66)
at com.kenai.jaffl.provider.jffi.Library.getNativeLibraries(Library.java:56)
 
~/hbase/conf $ hbase -Djava.io.tmpdir=/ngs12/tmp shell
Error: Could not find or load main class shell
2 REPLIES 2
Highlighted

Re: Hbase: Could not find or load main class shell

Master Guru
While your idea is correct in trying a different tmp path that allows
execution and loading of libraries (your current /tmp may be mounted with
'noexec' applied, see output of 'mount' command), try specifying the
alternative tmp path like this:

~> export HBASE_OPTS='-Djava.io.tmpdir=/ngs12/tmp'
~> hbase shell

Re: Hbase: Could not find or load main class shell

New Contributor

I tried as per you suggestions, still its the same error.

$  export HBASE_OPTS='-Djava.io.tmpdir=/ngs12/logs/hbase/tmp'

$ echo  $HBASE_OPTS

-Djava.io.tmpdir=/ngs12/logs/hbase/tmp

 

$ hbase shell

2017-07-17 06:53:47,702 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available

java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: /tmp/jffi7308046184491677969.tmp: /tmp/jffi7308046184491677969.tmp: failed to map segment from shared object: Operation not permitted

at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:90)

at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)

at com.kenai.jffi.Library.openLibrary(Library.java:151)

at com.kenai.jffi.Library.getCachedInstance(Library.java:125)

at com.kenai.jaffl.provider.jffi.Library.loadNativeLibraries(Library.java:66)

at com.kenai.jaffl.provider.jffi.Library.getNativeLibraries(Library.java:56)

at com.kenai.jaffl.provider.jffi.Library.getSymbolAddress(Library.java:35)

at com.kenai.jaffl.provider.jffi.Library.findSymbolAddress(Library.java:45)

at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:188)

at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:110)

at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31)

at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:25)

at com.kenai.jaffl.Library.loadLibrary(Library.java:76)

at org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:108)

at org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider.getLibC(POSIXFactory.java:112)

at org.jruby.ext.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:30)

at org.jruby.ext.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:17)

at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:70)

at org.jruby.ext.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:31)

at org.jruby.ext.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:29)

at org.jruby.ext.posix.LazyPOSIX.posix(LazyPOSIX.java:25)

at org.jruby.ext.posix.LazyPOSIX.isatty(LazyPOSIX.java:159)

at org.jruby.RubyIO.tty_p(RubyIO.java:1897)

at org.jruby.RubyIO$i$0$0$tty_p.call(RubyIO$i$0$0$tty_p.gen:65535)

at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)

at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)

at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)

at org.jruby.ast.IfNode.interpret(IfNode.java:111)

at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)

at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)

at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)

at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)

at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)

at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)

at org.jruby.ast.VCallNode.interpret(VCallNode.java:86)

at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)

at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)

at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)

at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)

at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)

at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)

at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)

at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)

at org.jruby.RubyClass.newInstance(RubyClass.java:822)

at org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535)

at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock.call(JavaMethod.java:249)

at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)

at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)

at ngs.app.xcardt.hbase.bin.hirb.__file__(/ngs/app/xcardt/hbase//bin/hirb.rb:128)

at ngs.app.xcardt.hbase.bin.hirb.load(/ngs/app/xcardt/hbase//bin/hirb.rb)

at org.jruby.Ruby.runScript(Ruby.java:697)

at org.jruby.Ruby.runScript(Ruby.java:690)

at org.jruby.Ruby.runNormally(Ruby.java:597)

at org.jruby.Ruby.runFromMain(Ruby.java:446)

at org.jruby.Main.doRunFromMain(Main.java:369)

at org.jruby.Main.internalRun(Main.java:258)

at org.jruby.Main.run(Main.java:224)

at org.jruby.Main.run(Main.java:208)

at org.jruby.Main.main(Main.java:188)

Caused by: java.lang.UnsatisfiedLinkError: /tmp/jffi7308046184491677969.tmp: /tmp/jffi7308046184491677969.tmp: failed to map segment from shared object: Operation not permitted

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)

at java.lang.Runtime.load0(Runtime.java:809)

at java.lang.System.load(System.java:1086)

at com.kenai.jffi.Init.loadFromJar(Init.java:164)

at com.kenai.jffi.Init.load(Init.java:78)

at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)

at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)

at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)

at com.kenai.jffi.Internals.getErrnoSaveFunction(Internals.java:44)

at com.kenai.jaffl.provider.jffi.StubCompiler.getErrnoSaveFunction(StubCompiler.java:68)

at com.kenai.jaffl.provider.jffi.StubCompiler.<clinit>(StubCompiler.java:18)

at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:146)

... 50 more

Foreign.java:90:in `getForeign': java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: /tmp/jffi7308046184491677969.tmp: /tmp/jffi7308046184491677969.tmp: failed to map segment from shared object: Operation not permitted

from Foreign.java:95:in `getInstance'

from Library.java:151:in `openLibrary'

from Library.java:125:in `getCachedInstance'

from Library.java:66:in `loadNativeLibraries'

from Library.java:56:in `getNativeLibraries'

from Library.java:35:in `getSymbolAddress'

from Library.java:45:in `findSymbolAddress'

from DefaultInvokerFactory.java:51:in `createInvoker'

from Library.java:27:in `getInvoker'

from NativeInvocationHandler.java:90:in `createInvoker'

from NativeInvocationHandler.java:74:in `getInvoker'

from NativeInvocationHandler.java:110:in `invoke'

from null:-1:in `isatty'

from BaseNativePOSIX.java:300:in `isatty'

from LazyPOSIX.java:159:in `isatty'

from RubyIO.java:1897:in `tty_p'

from RubyIO$i$0$0$tty_p.gen:65535:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from CallNoArgNode.java:63:in `interpret'

from IfNode.java:111:in `interpret'

from NewlineNode.java:104:in `interpret'

from ASTInterpreter.java:74:in `INTERPRET_METHOD'

from InterpretedMethod.java:147:in `call'

from DefaultMethod.java:183:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from VCallNode.java:86:in `interpret'

from NewlineNode.java:104:in `interpret'

from BlockNode.java:71:in `interpret'

from ASTInterpreter.java:74:in `INTERPRET_METHOD'

from InterpretedMethod.java:169:in `call'

from DefaultMethod.java:191:in `call'

from CachingCallSite.java:302:in `cacheAndCall'

from CachingCallSite.java:144:in `callBlock'

from CachingCallSite.java:148:in `call'

from RubyClass.java:822:in `newInstance'

from RubyClass$i$newInstance.gen:65535:in `call'

from JavaMethod.java:249:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from /ngs/app/xcardt/hbase//bin/hirb.rb:128:in `__file__'

from /ngs/app/xcardt/hbase//bin/hirb.rb:-1:in `load'

from Ruby.java:697:in `runScript'

from Ruby.java:690:in `runScript'

from Ruby.java:597:in `runNormally'

from Ruby.java:446:in `runFromMain'

from Main.java:369:in `doRunFromMain'

from Main.java:258:in `internalRun'

from Main.java:224:in `run'

from Main.java:208:in `run'

from Main.java:188:in `main'

Caused by:

ClassLoader.java:-2:in `load': java.lang.UnsatisfiedLinkError: /tmp/jffi7308046184491677969.tmp: /tmp/jffi7308046184491677969.tmp: failed to map segment from shared object: Operation not permitted

from ClassLoader.java:1941:in `loadLibrary0'

from ClassLoader.java:1824:in `loadLibrary'

from Runtime.java:809:in `load0'

from System.java:1086:in `load'

from Init.java:164:in `loadFromJar'

from Init.java:78:in `load'

from Foreign.java:49:in `getInstanceHolder'

from Foreign.java:45:in `<clinit>'

from Foreign.java:95:in `getInstance'

from Internals.java:44:in `getErrnoSaveFunction'

from StubCompiler.java:68:in `getErrnoSaveFunction'

from StubCompiler.java:18:in `<clinit>'

from AsmLibraryLoader.java:146:in `generateInterfaceImpl'

from AsmLibraryLoader.java:110:in `loadLibrary'

from Provider.java:31:in `loadLibrary'

from Provider.java:25:in `loadLibrary'

from Library.java:76:in `loadLibrary'

from POSIXFactory.java:108:in `<clinit>'

from POSIXFactory.java:112:in `getLibC'

from BaseNativePOSIX.java:30:in `<init>'

from LinuxPOSIX.java:17:in `<init>'

from POSIXFactory.java:70:in `loadLinuxPOSIX'

from POSIXFactory.java:31:in `loadPOSIX'

from LazyPOSIX.java:29:in `loadPOSIX'

from LazyPOSIX.java:25:in `posix'

from LazyPOSIX.java:159:in `isatty'

from RubyIO.java:1897:in `tty_p'

from RubyIO$i$0$0$tty_p.gen:65535:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from CallNoArgNode.java:63:in `interpret'

from IfNode.java:111:in `interpret'

from NewlineNode.java:104:in `interpret'

from ASTInterpreter.java:74:in `INTERPRET_METHOD'

from InterpretedMethod.java:147:in `call'

from DefaultMethod.java:183:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from VCallNode.java:86:in `interpret'

from NewlineNode.java:104:in `interpret'

from BlockNode.java:71:in `interpret'

from ASTInterpreter.java:74:in `INTERPRET_METHOD'

from InterpretedMethod.java:169:in `call'

from DefaultMethod.java:191:in `call'

from CachingCallSite.java:302:in `cacheAndCall'

from CachingCallSite.java:144:in `callBlock'

from CachingCallSite.java:148:in `call'

from RubyClass.java:822:in `newInstance'

from RubyClass$i$newInstance.gen:65535:in `call'

from JavaMethod.java:249:in `call'

from CachingCallSite.java:292:in `cacheAndCall'

from CachingCallSite.java:135:in `call'

from /ngs/app/xcardt/hbase//bin/hirb.rb:128:in `__file__'

from /ngs/app/xcardt/hbase//bin/hirb.rb:-1:in `load'

from Ruby.java:697:in `runScript'

from Ruby.java:690:in `runScript'

from Ruby.java:597:in `runNormally'

from Ruby.java:446:in `runFromMain'

from Main.java:369:in `doRunFromMain'

from Main.java:258:in `internalRun'

from Main.java:224:in `run'

from Main.java:208:in `run'

from Main.java:188:in `main'