Check filesystem permissions on startup
---------------------------------------

                 Key: HBASE-4202
                 URL: https://issues.apache.org/jira/browse/HBASE-4202
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.20.4
         Environment: debian squeeze
            Reporter: Matthias Hofschen


We added a new node to a 44 node cluster starting the datanode, mapred and 
regionserver processes on it. The Unix filesystem was configured incorrectly, 
i.e. /tmp was not writable to processes. All three processes had issues with 
this. Datanode and mapred shutdown on exception.
Regionserver did not stop, in fact reported to master that its up without 
regions. So master assigned regions to it. Regionserver would not accept them, 
resulting in a constant assign, reject, reassign cycle, that put many regions 
into a state of not being available. There are no logs about this, but we could 
observer the regioncount fluctuate by hundredths of regions and the application 
throwing many NotServingRegion exceptions.  

In fact to the master process the regionserver looked fine, so it was trying to 
send regions its way. Regionserver rejected them. So the master/balancer was 
going into a assign/reassign cycle destabilizing the cluster. Many puts and 
gets simply failed with NotServingRegionExceptions and took a long time to 
complete.

Exception from regionserver:
2011-08-06 23:57:13,953 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: Got ZooKeeper event, state: 
SyncConnected, type: NodeCreated, path: /hbase/master
2011-08-06 23:57:13,957 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: Telling master at 
17.1.0.1:60000 that we are up
2011-08-06 23:57:13,957 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: Telling master at 
17.1.0.1:60000 that we are up
2011-08-07 00:07:39.648::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
2011-08-07 00:07:39.712::INFO:  jetty-6.1.14
2011-08-07 00:07:39.742::WARN:  tmpdir
java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1704)
        at java.io.File.createTempFile(File.java:1792)
        at java.io.File.createTempFile(File.java:1828)
        at 
org.mortbay.jetty.webapp.WebAppContext.getTempDirectory(WebAppContext.java:745)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:458)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:461)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.startServiceThreads(HRegionServer.java:1168)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.init(HRegionServer.java:792)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:430)
        at java.lang.Thread.run(Thread.java:619)

Exception from datanode:
2011-08-06 23:37:20,444 INFO org.apache.hadoop.http.HttpServer: Jetty bound to 
port 50075
2011-08-06 23:37:20,444 INFO org.mortbay.log: jetty-6.1.14
2011-08-06 23:37:20,469 WARN org.mortbay.log: tmpdir
java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1704)
        at java.io.File.createTempFile(File.java:1792)
        at java.io.File.createTempFile(File.java:1828)
        at 
org.mortbay.jetty.webapp.WebAppContext.getTempDirectory(WebAppContext.java:745)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:458)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:463)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:384)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:225)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1309)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1264)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1272)
        at 
org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1394)
2011-08-06 23:37:20,471 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: 
SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at hdp1122/17.1.0.22
************************************************************/

Exception from tasktracker:
2011-08-06 23:33:50,380 INFO org.apache.hadoop.http.HttpServer: Jetty bound to 
port 50060
2011-08-06 23:33:50,380 INFO org.mortbay.log: jetty-6.1.14
2011-08-06 23:33:50,415 WARN org.mortbay.log: tmpdir
java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1704)
        at java.io.File.createTempFile(File.java:1792)
        at java.io.File.createTempFile(File.java:1828)
        at 
org.mortbay.jetty.webapp.WebAppContext.getTempDirectory(WebAppContext.java:745)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:458)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:463)
        at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:935)
        at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:2837)
2011-08-06 23:33:50,416 INFO org.apache.hadoop.mapred.TaskTracker: 
SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down TaskTracker at hdp1122/17.1.0.22
************************************************************/




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to