0

I am following cloudera cdh4 installation guide.

My base file

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

My hadoop installation file

java_ubuntu is the image build from my base file.

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

Supervisor part hadoop_ubuntu is the image build from my hadoop installation docker file

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"]

Program is successfully build. But namenode is not starting up? How to use supervisor?

Gibbs
  • 21,904
  • 13
  • 74
  • 138
  • 1
    you should `docker exec -it hadoop_ubuntu:latest /bin/bash` and check, what processes run, what is in your supervisor file... – user2915097 Jan 20 '15 at 07:25

2 Answers2

2

You have your config in /etc/supervisorconf.d and I don't believe that's the right location.

It should be /etc/supervisor/conf.d/supervisord.conf instead.

Also it's easier to maintain if you make a file locally and then use the COPY instruction to put it in the image.

Then as someone mentioned you can connect to the container after it's running (docker exec -it <container id> /bin/bash) and then run supervisorctl to see what's running and what might be wrong.

ryan1234
  • 7,237
  • 6
  • 25
  • 36
0

Perhaps you need line breaks in your supervisor.conf. Try hand crafting one and COPY it into your dockerfile for testing.

Docker and supervisord

user2105103
  • 11,599
  • 2
  • 18
  • 11