0
votes

I am referring cloudera.com for installing cdh4 on ubuntu:precise system;

  RUN for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do service $x start ; /etc/init.d/$x status; jps; done

Output

  hadoop namenode starting
  hadoop namenode is running   
   7 jps
  43 namenode

  hadoop datanode starting
  hadoop datanode is running
   7 jps
  43 namenode
  89 datanode

  hadoop secondary namenode starting
  hadoop decondary namenode is running
   7 jps
  43 namenode
  89 datanode
  95 secondarynamenode

After this statement, i try jps

   7 jps
  43 process info unavail
  89 process info unavail
  95 process info unavail

Why is it happening? Is the run time of these jobs are only upto that for loop in docker?

EDIT: Directory /var/lib/hadoop-hdfs/cache/hdfs/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.

This is the error i see in the log. i am getting this error while executing these commands inside dockerfile. But if i run these commands after building an image, it works fine.

1
Did you check the logs?mbaxi
@mbaxi please see my edits. Any help?Gibbs

1 Answers

0
votes

In the vanilla Docker you should not rely on services running between the RUN steps. They will not. Either do jps as the part of the same RUN step or, better yet, start service as the part of your CMD or ENTRYPOINT statement.