0

我正在关注 cloudera cdh4 安装指南。

我的基础文件

FROM ubuntu:precise

RUN apt-get update -y
#RUN apt-get install -y curl

RUN apt-get install -y software-properties-common python-software-properties

RUN add-apt-repository ppa:webupd8team/java

RUN apt-get update -y
RUN echo debconf shared/accepted-oracle-license-v1-1 select true | \
debconf-set-selections
RUN apt-get install -y oracle-java7-installer

#Checking java version
RUN java -version

我的hadoop安装文件

java_ubuntu 是从我的基本文件构建的图像。

FROM java_ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y curl

RUN curl http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb > cdh4-repository_1.0_all.deb
RUN dpkg -i cdh4-repository_1.0_all.deb
RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add -

RUN apt-get update -y
RUN apt-get install -y hadoop-0.20-conf-pseudo

#Check for /etc/hadoop/conf.pseudo.mrl to verfiy hadoop packages
RUN echo "dhis"  
RUN dpkg -L hadoop-0.20-conf-pseudo

主管部分 hadoop_ubuntu 是从我的 hadoop 安装 docker 文件构建的映像

FROM hadoop_ubuntu:latest

USER hdfs
RUN hdfs namenode -format

USER root

RUN apt-get install -y supervisor
RUN echo "[supervisord] nodameon=true  [program=namenode] command=/etc/init.d/hadoop-hdfs-namenode -D" > /etc/supervisorconf.d

CMD ["/usr/bin/supervisord"]

程序已成功构建。但是namenode没有启动?如何使用主管?

4

2 回答 2

2

你有你的配置,/etc/supervisorconf.d我不相信这是正确的位置。

应该是/etc/supervisor/conf.d/supervisord.conf

此外,如果您在本地创建文件,然后使用 COPY 指令将其放入图像中,则更易于维护。

然后正如有人提到的,您可以在容器运行后连接到容器(docker exec -it <container id> /bin/bash),然后运行supervisorctl以查看正在运行的内容以及可能出现的问题。

于 2015-01-20T17:56:13.827 回答
0

也许你需要在你的 supervisor.conf 中换行。尝试手工制作一个并将其复制到您的 dockerfile 中进行测试。

码头工人和监督者

于 2015-01-20T14:47:20.897 回答