CDH中在命令行执行hbase shell时候报错如下:

[root@test-dev-cdh-1 lib]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/lib/phoenix-5.0.0-HBase-2.0-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/lib/phoenix-5.0.0-HBase-2.0-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/lib/phoenix-5.0.0-HBase-2.0-pig.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
NameError: cannot link Java class org.apache.hadoop.hbase.HColumnDescriptor (java.lang.NoSuchMethodError: com.ctc.wstx.stax.WstxInputFactory.createSR(Lcom/ctc/wstx/api/ReaderConfig;Lcom/ctc/wstx/io/SystemId;Lcom/ctc/wstx/io/InputBootstrapper;ZZ)Lorg/apache/phoenix/shaded/org/codehaus/stax2/XMLStreamReader2;)
           method_missing at org/jruby/javasupport/JavaPackage.java:259
  <module:HBaseConstants> at /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/lib/ruby/hbase_constants.rb:42
                   <main> at /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/lib/ruby/hbase_constants.rb:34
                  require at org/jruby/RubyKernel.java:956
                   (root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
                   <main> at /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hbase/bin/../bin/hirb.rb:131

1:Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误,是因为jar包冲突了,所以对于和hadoop的jar包冲突的,可以将其他jar包删除,如果你不确定是否删除正确,可以将其他的jar包复制备份或者修改名称,确保操作以后失败了,还可以找回。

[root@test-dev-cdh-1 lib]# ls phoenix-5.0.0-HBase-2.0-client.jar
phoenix-5.0.0-HBase-2.0-client.jar
[root@test-dev-cdh-1 lib]# mv phoenix-5.0.0-HBase-2.0-client.jar phoenix-5.0.0-HBase-2.0-client.jar.back
[root@test-dev-cdh-1 lib]# ls phoenix-5.0.0-HBase-2.0-thin-client.jar
phoenix-5.0.0-HBase-2.0-thin-client.jar
[root@test-dev-cdh-1 lib]# mv phoenix-5.0.0-HBase-2.0-thin-client.jar phoenix-5.0.0-HBase-2.0-thin-client.jar.back
[root@test-dev-cdh-1 lib]# ls phoenix-5.0.0-HBase-2.0-pig.jar
phoenix-5.0.0-HBase-2.0-pig.jar
[root@test-dev-cdh-1 lib]# mv phoenix-5.0.0-HBase-2.0-pig.jar phoenix-5.0.0-HBase-2.0-pig.jar.back
[root@test-dev-cdh-1 lib]# 
[root@test-dev-cdh-1 lib]# 

2、备份完了报冲突的jar包之后,重新执行hbase shell即可。

[root@test-dev-cdh-1 lib]# hbase shell
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.0-cdh6.3.0, rUnknown, Thu Jul 18 10:08:02 PDT 2019
Took 0.0011 seconds                                                                                                                                        
hbase(main):001:0> exists 'user'
Table user does not exist                                                                                                                                  
Took 3.3419 seconds                                                                                                                                        
=> false
hbase(main):002:0>