[ 
https://issues.apache.org/jira/browse/HBASE-24976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

lujie updated HBASE-24976:
--------------------------
    Description: 
When I enable security and start rest server, i  see the messages like these:
{code:java}
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{code}
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:
{code:java}
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)
{code}
 But these exceptions are caught without any messages printed.
{code:java}
org.apache.hadoop.hbase.rest.RESTServer.main
423 try {
424    server.run();
425    server.join();
426 } catch (Exception e) {
427     System.exit(1);
428 }
{code}
We need print the failure message to help user config the system.

  was:
When I enable security and start rest server, i  see the messages like these:
{code:java}
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{code}
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:
{code:java}
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)
{code}
 But these exceptions are caught without any messages printed.
{code:java}
org.apache.hadoop.hbase.rest.RESTServer.main
423 try {
424    server.run();
425    server.join();
426 } catch (Exception e) {
427     System.exit(1);
428 }
{code}


> REST Server failes to start without any error message
> -----------------------------------------------------
>
>                 Key: HBASE-24976
>                 URL: https://issues.apache.org/jira/browse/HBASE-24976
>             Project: HBase
>          Issue Type: Improvement
>          Components: REST
>    Affects Versions: 2.2.1
>            Reporter: lujie
>            Assignee: lujie
>            Priority: Major
>
> When I enable security and start rest server, i  see the messages like these:
> {code:java}
> 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{code}
> 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:
> {code:java}
> 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)
> {code}
>  But these exceptions are caught without any messages printed.
> {code:java}
> org.apache.hadoop.hbase.rest.RESTServer.main
> 423 try {
> 424    server.run();
> 425    server.join();
> 426 } catch (Exception e) {
> 427     System.exit(1);
> 428 }
> {code}
> We need print the failure message to help user config the system.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to