hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-14078) improve error message when HMaster can't bind to port
Date Tue, 14 Jul 2015 21:28:05 GMT

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

Sean Busbey updated HBASE-14078:
--------------------------------
    Description: 
When the master fails to start becahse hbase.master.port is already taken, the log messages
could make it easier to tell.

{quote}
2015-07-14 13:10:02,667 INFO  [main] regionserver.RSRpcServices: master/master01.example.com/10.20.188.121:16000
server-side HConnection retries=350
2015-07-14 13:10:02,879 INFO  [main] ipc.SimpleRpcScheduler: Using deadline as user call queue,
count=3
2015-07-14 13:10:02,895 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2258)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:234)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2272)
Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:444)
        at sun.nio.ch.Net.bind(Net.java:436)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2513)
        at org.apache.hadoop.hbase.ipc.RpcServer$Listener.<init>(RpcServer.java:599)
        at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:2000)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:919)
        at org.apache.hadoop.hbase.master.MasterRpcServices.<init>(MasterRpcServices.java:211)
        at org.apache.hadoop.hbase.master.HMaster.createRpcServices(HMaster.java:509)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:535)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:351)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2253)
        ... 5 more
{quote}

I recognize that the "RSRpcServices" log message shows port 16000, but I don't know why a
new operator would. Additionally, it'd be nice to tell them that the port is controlled by
{{hbase.master.port}}. Maybe give a hint on how to see what's using the port. Could be too
os-dist specific?

  was:
When the master fails to start becahse hbase.master.port is already taken, the log messages
could make it easier to tell.

{quote}
2015-07-14 13:10:02,667 INFO  [main] regionserver.RSRpcServices: master/a1221.halxg.cloudera.com/10.20.188.121:16000
server-side HConnection retries=350
2015-07-14 13:10:02,879 INFO  [main] ipc.SimpleRpcScheduler: Using deadline as user call queue,
count=3
2015-07-14 13:10:02,895 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2258)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:234)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2272)
Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:444)
        at sun.nio.ch.Net.bind(Net.java:436)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2513)
        at org.apache.hadoop.hbase.ipc.RpcServer$Listener.<init>(RpcServer.java:599)
        at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:2000)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:919)
        at org.apache.hadoop.hbase.master.MasterRpcServices.<init>(MasterRpcServices.java:211)
        at org.apache.hadoop.hbase.master.HMaster.createRpcServices(HMaster.java:509)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:535)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:351)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2253)
        ... 5 more
{quote}

I recognize that the "RSRpcServices" log message shows port 16000, but I don't know why a
new operator would. Additionally, it'd be nice to tell them that the port is controlled by
{{hbase.master.port}}. Maybe give a hint on how to see what's using the port. Could be too
os-dist specific?


> improve error message when HMaster can't bind to port
> -----------------------------------------------------
>
>                 Key: HBASE-14078
>                 URL: https://issues.apache.org/jira/browse/HBASE-14078
>             Project: HBase
>          Issue Type: Improvement
>          Components: master
>    Affects Versions: 2.0.0
>            Reporter: Sean Busbey
>              Labels: beginner
>             Fix For: 2.0.0
>
>
> When the master fails to start becahse hbase.master.port is already taken, the log messages
could make it easier to tell.
> {quote}
> 2015-07-14 13:10:02,667 INFO  [main] regionserver.RSRpcServices: master/master01.example.com/10.20.188.121:16000
server-side HConnection retries=350
> 2015-07-14 13:10:02,879 INFO  [main] ipc.SimpleRpcScheduler: Using deadline as user call
queue, count=3
> 2015-07-14 13:10:02,895 ERROR [main] master.HMasterCommandLine: Master exiting
> java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
>         at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2258)
>         at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:234)
>         at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>         at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
>         at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2272)
> Caused by: java.net.BindException: Address already in use
>         at sun.nio.ch.Net.bind0(Native Method)
>         at sun.nio.ch.Net.bind(Net.java:444)
>         at sun.nio.ch.Net.bind(Net.java:436)
>         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
>         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
>         at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2513)
>         at org.apache.hadoop.hbase.ipc.RpcServer$Listener.<init>(RpcServer.java:599)
>         at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:2000)
>         at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:919)
>         at org.apache.hadoop.hbase.master.MasterRpcServices.<init>(MasterRpcServices.java:211)
>         at org.apache.hadoop.hbase.master.HMaster.createRpcServices(HMaster.java:509)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:535)
>         at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:351)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2253)
>         ... 5 more
> {quote}
> I recognize that the "RSRpcServices" log message shows port 16000, but I don't know why
a new operator would. Additionally, it'd be nice to tell them that the port is controlled
by {{hbase.master.port}}. Maybe give a hint on how to see what's using the port. Could be
too os-dist specific?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message