मैं बैकग्राउंड में एक कंटेनर चलाते हैं
docker run -d --name hadoop h_Service
यह जल्दी से बाहर निकलता है। लेकिन अगर मैं अग्रभूमि में दौड़ता हूं, तो यह ठीक काम करता है। मैंने लॉग का उपयोग करके जाँच की
docker logs hadoop
कोई त्रुटि नहीं थी। कोई विचार?
DOCKERFILE
FROM java_ubuntu_new
RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/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
RUN apt-get install -y hadoop-0.20-conf-pseudo
RUN dpkg -L hadoop-0.20-conf-pseudo
USER hdfs
RUN hdfs namenode -format
USER root
RUN apt-get install -y sudo
ADD . /usr/local/
RUN chmod 777 /usr/local/start-all.sh
CMD ["/usr/local/start-all.sh"]
start-all.sh
#!/usr/bin/env bash
/etc/init.d/hadoop-hdfs-namenode start
/etc/init.d/hadoop-hdfs-datanode start
/etc/init.d/hadoop-hdfs-secondarynamenode start
/etc/init.d/hadoop-0.20-mapreduce-tasktracker start
sudo -u hdfs hadoop fs -chmod 777 /
/etc/init.d/hadoop-0.20-mapreduce-jobtracker start
/bin/bash
chmod 777
वह असुरक्षित और गलत है। आपको सनी अनुमतियों (शायद इस मामले में 755) पर वापस जाना चाहिए।