为什么hadoop服务立即退出?

时间:2015-01-16 10:34:52

标签: hadoop docker

我指的是cloudera.com在ubuntu上安装cdh4:精确系统;

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

输出

  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

在此声明之后,我尝试jps

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

为什么会这样?这些作业的运行时间是否仅限于docker中的循环运行时间?

编辑: 目录/ var / lib / hadoop-hdfs / cache / hdfs / dfs / name处于不一致状态:存储目录不存在或不可访问。

这是我在日志中看到的错误。我在dockerfile中执行这些命令时收到此错误。但是,如果我在构建图像后运行这些命令,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

在vanilla Docker中,您不应该依赖在RUN步骤之间运行的服务。他们不会。要么jps作为同一个RUN步骤的一部分,或者更好的是,作为CMD或ENTRYPOINT语句的一部分启动服务。