ฉันใช้คอนเทนเนอร์ในพื้นหลังโดยใช้
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 ในกรณีนี้)