hbase shell 报错java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
并且这个错误只有安装了hive后才会发生
详细报错如下:
# ./hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.5.1-2/phoenix/phoenix-5.0.0.3.1.5.1-2-server.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.5.1-2/hadoop/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.5.1-2/tez/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.5.1-2/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.1.6.3.1.5.1-2, rUnknown, Thu May 7 11:28:49 CST 2020
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:438)
at org.jruby.javasupport.JavaMethod.invokeStaticDirect(JavaMethod.java:360)
at org.jruby.java.invokers.StaticMethodInvoker.call(StaticMethodInvoker.java:40)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:141)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:145)
at org.jruby.RubyClass.newInstance(RubyClass.java:994)
at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:355)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:355)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:83)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
at usr.hdp.$3_dot_1_dot_5_dot_1_minus_2.hbase.bin.hirb.invokeOther172:print_banner(/usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:190)
at usr.hdp.$3_dot_1_dot_5_dot_1_minus_2.hbase.bin.hirb.RUBY$script(/usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:190)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.jruby.ir.Compiler$1.load(Compiler.java:95)
at org.jruby.Ruby.runScript(Ruby.java:828)
at org.jruby.Ruby.runNormally(Ruby.java:747)
at org.jruby.Ruby.runNormally(Ruby.java:765)
at org.jruby.Ruby.runFromMain(Ruby.java:578)
at org.jruby.Main.doRunFromMain(Main.java:417)
at org.jruby.Main.internalRun(Main.java:305)
at org.jruby.Main.run(Main.java:232)
at org.jruby.Main.main(Main.java:204)
Took 0.0051 seconds
Unhandled Java exception: java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
<init> at jline/console/ConsoleReader.java:228
<init> at jline/console/ConsoleReader.java:219
<init> at jline/console/ConsoleReader.java:207
initReadline at org/jruby/ext/readline/Readline.java:105
getHolderWithReadline at org/jruby/ext/readline/Readline.java:143
s_readline at org/jruby/ext/readline/Readline.java:169
call at org/jruby/ext/readline/Readline$INVOKER$s$s_readline.gen:-1
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:358
call at org/jruby/runtime/callsite/CachingCallSite.java:195
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:323
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
INTERPRET_BLOCK at org/jruby/ir/interpreter/Interpreter.java:132
commonYieldPath at org/jruby/runtime/MixedModeIRBlockBody.java:148
yieldSpecific at org/jruby/runtime/IRBlockBody.java:84
yieldSpecific at org/jruby/runtime/Block.java:134
yieldSpecific at org/jruby/ir/runtime/IRRuntimeHelpers.java:419
interpret at org/jruby/ir/instructions/YieldInstr.java:74
processOtherOp at org/jruby/ir/interpreter/StartupInterpreterEngine.java:187
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:111
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:83
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:348
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:173
call at org/jruby/runtime/callsite/CachingCallSite.java:177
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:332
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
INTERPRET_BLOCK at org/jruby/ir/interpreter/Interpreter.java:132
commonYieldPath at org/jruby/runtime/MixedModeIRBlockBody.java:148
call at org/jruby/runtime/IRBlockBody.java:73
call at org/jruby/runtime/Block.java:124
call at org/jruby/RubyProc.java:289
call19 at org/jruby/RubyProc.java:273
call at org/jruby/RubyProc$INVOKER$i$0$0$call19.gen:-1
call at org/jruby/internal/runtime/methods/DynamicMethod.java:196
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:83
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165
call at org/jruby/internal/runtime/methods/DynamicMethod.java:200
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:338
call at org/jruby/runtime/callsite/CachingCallSite.java:163
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:314
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:83
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165
call at org/jruby/internal/runtime/methods/DynamicMethod.java:200
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:338
call at org/jruby/runtime/callsite/CachingCallSite.java:163
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:314
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:339
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
INTERPRET_BLOCK at org/jruby/ir/interpreter/Interpreter.java:132
commonYieldPath at org/jruby/runtime/MixedModeIRBlockBody.java:148
yieldSpecific at org/jruby/runtime/IRBlockBody.java:84
yieldSpecific at org/jruby/runtime/Block.java:134
loop at org/jruby/RubyKernel.java:1292
call at org/jruby/RubyKernel$INVOKER$s$0$0$loop.gen:-1
call at org/jruby/internal/runtime/methods/JavaMethod.java:498
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:298
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:79
call at org/jruby/runtime/callsite/CachingCallSite.java:83
interpret at org/jruby/ir/instructions/CallBase.java:428
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:355
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
INTERPRET_BLOCK at org/jruby/ir/interpreter/Interpreter.java:132
commonYieldPath at org/jruby/runtime/MixedModeIRBlockBody.java:148
doYield at org/jruby/runtime/IRBlockBody.java:186
yield at org/jruby/runtime/BlockBody.java:116
yield at org/jruby/runtime/Block.java:165
enter at org/jruby/RubyContinuation.java:107
rbCatch19Common at org/jruby/RubyKernel.java:1121
rbCatch19 at org/jruby/RubyKernel.java:1114
call at org/jruby/RubyKernel$INVOKER$s$rbCatch19.gen:-1
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:348
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:173
call at org/jruby/runtime/callsite/CachingCallSite.java:177
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:332
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:109
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:95
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:298
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:79
call at org/jruby/runtime/callsite/CachingCallSite.java:83
interpret at org/jruby/ir/instructions/CallBase.java:428
processCall at org/jruby/ir/interpreter/InterpreterEngine.java:355
interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
interpret at org/jruby/ir/interpreter/InterpreterEngine.java:77
INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144
call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130
call at org/jruby/internal/runtime/methods/DynamicMethod.java:192
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
invokeOther177:eval_input at usr/hdp/$3_dot_1_dot_5_dot_1_minus_2/hbase/bin//usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:214
block in start at /usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:214
yieldDirect at org/jruby/runtime/CompiledIRBlockBody.java:156
yield at org/jruby/runtime/BlockBody.java:114
yield at org/jruby/runtime/Block.java:165
enter at org/jruby/RubyContinuation.java:107
rbCatch19Common at org/jruby/RubyKernel.java:1121
rbCatch19 at org/jruby/RubyKernel.java:1114
call at org/jruby/RubyKernel$INVOKER$s$rbCatch19.gen:-1
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:348
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:173
call at org/jruby/runtime/callsite/CachingCallSite.java:177
invokeOther219:catch at usr/hdp/$3_dot_1_dot_5_dot_1_minus_2/hbase/bin//usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:213
start at /usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:213
call at org/jruby/internal/runtime/methods/CompiledIRMethod.java:77
call at org/jruby/internal/runtime/methods/CompiledIRMethod.java:152
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:318
call at org/jruby/runtime/callsite/CachingCallSite.java:131
invokeOther222:start at usr/hdp/$3_dot_1_dot_5_dot_1_minus_2/hbase/bin//usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:219
<main> at /usr/hdp/3.1.5.1-2/hbase/bin/hirb.rb:219
invokeWithArguments at java/lang/invoke/MethodHandle.java:627
load at org/jruby/ir/Compiler.java:95
runScript at org/jruby/Ruby.java:828
runNormally at org/jruby/Ruby.java:747
runNormally at org/jruby/Ruby.java:765
runFromMain at org/jruby/Ruby.java:578
doRunFromMain at org/jruby/Main.java:417
internalRun at org/jruby/Main.java:305
run at org/jruby/Main.java:232
main at org/jruby/Main.java:204
解决办法:
hbase/lib目录下应该包含jline-2.12.jar
cp /usr/hdp/3.1.5.1-2/hive/lib/jline-2.12.jar /usr/hdp/3.1.5.1-2/hbase/lib
或者将jline-2.12.jar拷贝至${hadoop_home}
其实在${HBASE_HOME}/lib/zkcli/jline-0.9.94.jar,只是比hive/lib下的版本低
我们还不能将hive/lib/jline-2.12.jar拷贝到${HBASE_HOME}/lib/zkcli,这样试过不生效
网友评论