为什么hadoop服务会立即退出?

d7v8vwbk  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(312)

我指的是cloudera.com在上安装cdh4ubuntu:precise system;

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中for循环的时间?
编辑:目录/var/lib/hadoop hdfs/cache/hdfs/dfs/name处于不一致状态:存储目录不存在或不可访问。
这是我在日志中看到的错误。我在dockerfile中执行这些命令时遇到这个错误。但是如果我在构建图像后运行这些命令,它就可以正常工作。
xmq68pz9

xmq68pz91#

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

相关问题