0
votes

I want to start hadoop modification called HaLoop but I have a problem in namenode. It doesn't start and give the following error

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /app/haloop/tmp/name is in an inconsistent state: storage directory does not exist or is not accessible.

The complete log is as follows:

2013-07-05 14:04:38,735 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG: /********************************** STARTUP_MSG: Starting NameNode STARTUP_MSG: host = elmorsy/127.0.1.1 STARTUP_MSG: args = [] STARTUP_MSG: version = 0.20.2-dev STARTUP_MSG: build = https://haloop.googlecode.com/svn/trunk -r 408; compiled by 'hduser' on Sat Jun 29 06:41:37 EET 2013 **********************************/ 2013-07-05 14:04:39,620 INFO org.apache.hadoop.ipc.metrics.RpcMetrics: Initializing RPC Metrics with hostName=NameNode, port=50010 2013-07-05 14:04:39,679 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Namenode up at: localhost/127.0.0.1:50010 2013-07-05 14:04:39,701 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: Initializing JVM Metrics with processName=NameNode, sessionId=null 2013-07-05 14:04:39,711 INFO org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics: Initializing NameNodeMeterics using context object:org.apache.hadoop.metrics.spi.NullContext 2013-07-05 14:04:40,360 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: fsOwner=hduser,hadoop 2013-07-05 14:04:40,360 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: supergroup=supergroup 2013-07-05 14:04:40,360 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true 2013-07-05 14:04:40,388 INFO org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics: Initializing FSNamesystemMetrics using context object:org.apache.hadoop.metrics.spi.NullContext 2013-07-05 14:04:40,392 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Registered FSNamesystemStatusMBean 2013-07-05 14:04:40,531 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /app/haloop/tmp/dfs/name does not exist. 2013-07-05 14:04:40,547 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed. org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /app/haloop/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201) at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965) 2013-07-05 14:04:40,557 INFO org.apache.hadoop.ipc.Server: Stopping server on 50010 2013-07-05 14:04:40,564 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /app/haloop/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201) at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)

2013-07-05 14:04:40,572 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: /********************************** SHUTDOWN_MSG: Shutting down NameNode at elmorsy/127.0.1.1 **********************************/

I tried to reformat NameNode but It didn't solve the problem.

Any help?

2
What are your hadoop.tmp.dir, dfs.data.dir and dfs.name.dir ? Those should be found in conf/hdfs-site.xml ?Arijit Banerjee
If you haven't specified the later two then they are created under hadoop.tmp.dir which is generally in OS's /tmp file system. /tmp filesystem is occasionally cleaned by the OS corrupting the hadoop meta data. Try changing the dfs.data.dir and dfs.name.dir under your home or somewhere it'll persist. Then format the hadoop FS to do a fresh start.Arijit Banerjee

2 Answers

2
votes

Make sure you are using the appropriate user and the directory has proper permissions. Use these commands to change the user and permissions of the directory, in case you need it :

sudo chown -R haloop_user:haloop_user_group /app/haloop/tmp/name
sudo chmod -R 755 /app/haloop/tmp/name

HTH

0
votes

Thanks to Tariq's answer, and i solved it. In addition, you should also chown and chmod the whole hadoop execution folder:

sudo chown -R hadoop_user:haloop_user_group /usr/local/hadoop
sudo chmod -R 755 /usr/local/hadoop