Support Questions

Find answers, ask questions, and share your expertise
Celebrating as our community reaches 100,000 members! Thank you!

HBase: NotServingRegionException: regionis not online

Hi all,

I installed CDH5 on three servers with a cluster which has one namenode and two datanodes, including all services installed.

 I tried to create through command like this:
 create 'test', 'cf'

 It shows the error after a long time:

ERROR: 60000 millis timeout while waiting for channel to be ready for read. ch : java.nio.channels.SocketChannel[connected local=/]

Here is some help for this command:
Creates a table. Pass a table name, and a set of column family
specifications (at least one), and, optionally, table configuration.
Column specification can be a simple string (name), or a dictionary
(dictionaries are described below in main help output), necessarily
including NAME attribute.

Create a table with namespace=ns1 and table qualifier=t1
  hbase> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}

Create a table with namespace=default and table qualifier=t1
  hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
  hbase> # The above in shorthand would be the following:
  hbase> create 't1', 'f1', 'f2', 'f3'
  hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
  hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}
Table configuration options can be put at the end.

  hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
  hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
  hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
  hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }
  hbase> # Optionally pre-split the table into NUMREGIONS, using
  hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
  hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
  hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}

 And the main problem inside the HMaster log file is:

2015-02-26 22:42:08,959 INFO org.apache.hadoop.hbase.catalog.CatalogTracker: Failed verification of hbase:meta,,1 at,60020,1424979581468, exception=org.apache.hadoop.hbase.NotServingRegionException: org.apache.hadoop.hbase.NotServingRegionException: Region hbase:meta,,1 is not online on,60020,1424983335514
    at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(
    at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(
    at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionInfo(
    at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(
    at org.apache.hadoop.hbase.ipc.RpcExecutor$

And the main errors inside Regionserver log file:

2015-02-26 22:42:35,051 ERROR org.apache.hadoop.jmx.JMXJsonServlet: getting attribute DiagnosticOptions of threw an exception java.lang.NullPointerException
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(
    at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(
    at org.apache.hadoop.jmx.JMXJsonServlet.writeAttribute(
    at org.apache.hadoop.jmx.JMXJsonServlet.listBeans(
    at org.apache.hadoop.jmx.JMXJsonServlet.doGet(
    at javax.servlet.http.HttpServlet.service(
    at javax.servlet.http.HttpServlet.service(
    at org.mortbay.jetty.servlet.ServletHolder.handle(
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
    at org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
    at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
    at org.apache.hadoop.http.NoCacheFilter.doFilter(
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
    at org.mortbay.jetty.servlet.ServletHandler.handle(
    at org.mortbay.jetty.servlet.SessionHandler.handle(
    at org.mortbay.jetty.handler.ContextHandler.handle(
    at org.mortbay.jetty.webapp.WebAppContext.handle(
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
    at org.mortbay.jetty.handler.HandlerWrapper.handle(
    at org.mortbay.jetty.Server.handle(
    at org.mortbay.jetty.HttpConnection.handleRequest(
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
    at org.mortbay.jetty.HttpParser.parseNext(
    at org.mortbay.jetty.HttpParser.parseAvailable(
    at org.mortbay.jetty.HttpConnection.handle(
    at org.mortbay.thread.QueuedThreadPool$
Caused by: java.lang.NullPointerException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at sun.reflect.misc.Trampoline.invoke(
    at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at sun.reflect.misc.MethodUtil.invoke(
    at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(
    at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(
    at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(
    at com.sun.jmx.mbeanserver.PerInterface.getAttribute(
    at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(
    ... 29 more

I dont know how to fix this problem, anyone please help.
Thanks in advance.





Master Collaborator

Hello Yibin,


This reply is 16 days later so hopefully you've already solved this.  

If not, from your logs it looks like the .Meta region is not online on any of your regionservers.  Meta is crucial to Hbase and without it being online almost no operations will succeed. 


Are your regionservers reporting in to the hmaster? the hmaster should be agressively trying to assign the meta region.
It could also be that hbase can't assign META because HDFS is not actually up. 


I'd advise checking over your hbase configuration and following the advice here[1]:



Hope this helps!