Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.2.1
-
None
Description
When I enable security and start rest server, i see the messages like these:
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/hadoop-2.8.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hbase-2.2.1/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] 2020-09-03 02:10:57,995 INFO [main] RESTServer: ***** STARTING service 'RESTServer' ***** 2020-09-03 02:10:57,998 INFO [main] util.VersionInfo: HBase 2.2.1 2020-09-03 02:10:57,998 INFO [main] util.VersionInfo: Source code repository git://hao-OptiPlex-7050/home/hao/open_source/hbase revision=f93aaf770cce81caacbf22174dfee2860dbb4810 2020-09-03 02:10:57,998 INFO [main] util.VersionInfo: Compiled by hao on 2019年 09月 10日 星期二 14:28:27 CST 2020-09-03 02:10:57,998 INFO [main] util.VersionInfo: From source with checksum c0f358e344b10713f61037e16fd39f8euse
Rest server doesn't start successfully, but it was bad that I can't find any error message indicating that server fails to start and why failure happens.
Afer debuging, I found that loginServerPrincipal can throw exception, like:
java.lang.IllegalArgumentException: hbase.rest.keytab.file should be set if security is enabled at org.apache.hbase.thirdparty.com.google.common.base.Preconditions.checkArgument(Preconditions.java:142) at org.apache.hadoop.hbase.rest.RESTServer.loginServerPrincipal(RESTServer.java:149) at org.apache.hadoop.hbase.rest.RESTServer.run(RESTServer.java:237) at org.apache.hadoop.hbase.rest.RESTServer.main(RESTServer.java:424)
But these exceptions are caught without any messages printed.
org.apache.hadoop.hbase.rest.RESTServer.main 423 try { 424 server.run(); 425 server.join(); 426 } catch (Exception e) { 427 System.exit(1); 428 }
We need print the failure message to help user config the system.
Attachments
Attachments
Issue Links
- links to