Recently a new deployment of the gateway, the user in the implementation of the HBase Shell mode connection HBase, error
[[email protected] lib]$ hbase shellslf4j: class path contains Multiple slf4j bindings. slf4j: found binding in [jar:file:/usr/local/hadoop/hbase-1.1.3/lib/kylin-jdbc-1.5.2.jar!/ org/slf4j/impl/staticloggerbinder.class]slf4j: found binding in [jar:file:/usr/local/ hadoop/hbase-1.1.3/lib/kylin-job-1.5.2.jar!/org/slf4j/impl/staticloggerbinder.class]slf4j: found binding in [jar:file:/usr/local/hadoop/hbase-1.1.3/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/ Staticloggerbinder.class]slf4j: found binding in [jar:file:/usr/local/hadoop/hadoop-2.7.1/ Share/hadoop/common/lib/slf4j-log4j12-1.7.10.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] Nativeexception: java.io.ioexception: java.lang.reflect.invocationtargetexception initialize at /usr/local/ hadoop/hbase-release/lib/ruby/hbase/hbase.rb:42 (Root) at /usr/ local/hadoop/hbase-release/bin/hirb.rb:118
After Baidu, solve the problem. is due to the path set by TESTUESR to Hbase.tmp.dir, there is no read and write permission. You can add permissions. (Actually I didn't create this path at all.) Because it is gateway, just use the HBase software and configuration file as the client. Nor does it start. Naturally, it is not conceivable that these paths will also affect the use of hbase shells. )
unable to start hbase shell due to java.io.ioexception: java.lang.reflect.invocationtargetexception symptom: when attempting to execute "Hbase shell" as a non-root / non-hbase user, hbase shell fails with the following exception: [[email protected] ~]$ hbase shell slf4j: class path contains multiple slf4j bindings. slf4j: found binding in [jar:file:/usr/hdp/2.3.4.0-3485/hadoop/lib/ Slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/staticloggerbinder.class] slf4j: found binding in [jar:file:/usr/hdp/2.3.4.0-3485/zookeeper/lib/slf4j-log4j12-1.6.1.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] nativeexception: java.io.ioexception: java.lang.reflect.invocationtargetexception initialize at /usr/hdp/2.3.4.0-3485/hbase/lib/ruby/hbase/hbase.rb:42 (Root) at /usr/hdp/ 2.3.4.0-3485/hbase/bin/hirb.rb:131 root cause: the user of hbase shell needs read and write permissions on the hbase tmp directory configured by the hbase.tmp.dir property in hbase-site.xml. To verify your hbase tmp directory configuration settings: [[email protected] ~]# grep -C2 "Hbase.tmp.dir" /etc/hbase/conf/hbase-site.xml <property> <name>hbase.local.dir </name> &nbsP; <value>${hbase.tmp.dir}/local</value> </property> -- <property > <name>hbase.tmp.dir</name> <value>/tmp/hbase-${user.name}</value> </ property> resolution: ensure the users of hbase shell have Read and write permissions for hbase.tmp.dir
Reference Links:
Https://community.hortonworks.com/content/supportkb/150642/unable-to-start-hbase-shell-due-to-javaioioexcepti.html
Hbase Shell failed to start