为什么 hadoop 服务立即退出?
Why hadoop services exits immediately?
我指的是 cloudera.com 在 ubuntu:precise 系统上安装 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 中的 for 循环?
编辑:
目录 /var/lib/hadoop-hdfs/cache/hdfs/dfs/name 处于不一致状态:存储目录不存在或不可访问。
这是我在日志中看到的错误。我在 docker 文件中执行这些命令时遇到此错误。但是,如果我 运行 在构建图像后使用这些命令,它可以正常工作。
在原版 Docker 中,您不应在 运行 步骤之间依赖服务 运行。他们不会。将 jps
作为相同 运行 步骤的一部分执行,或者更好的是,将启动服务作为 CMD 或 ENTRYPOINT 语句的一部分。
我指的是 cloudera.com 在 ubuntu:precise 系统上安装 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 中的 for 循环?
编辑: 目录 /var/lib/hadoop-hdfs/cache/hdfs/dfs/name 处于不一致状态:存储目录不存在或不可访问。
这是我在日志中看到的错误。我在 docker 文件中执行这些命令时遇到此错误。但是,如果我 运行 在构建图像后使用这些命令,它可以正常工作。
在原版 Docker 中,您不应在 运行 步骤之间依赖服务 运行。他们不会。将 jps
作为相同 运行 步骤的一部分执行,或者更好的是,将启动服务作为 CMD 或 ENTRYPOINT 语句的一部分。