enter image description here Dockerfile构建成功,但是,我使用ocker run -it --hostname hadoop1 --name hadoop hadoop_v1.0,并尝试使用“ chown --help”以获取更多信息,我检查了所有在/ usr / local / hadoop / logs下的日志,它们都报告了错误,容器也可以正常运行
这是用于构建hadoop的dockerfile。 chown命令在以下位置的dockerfile中使用:enter image description here
RUN chmod 600 ${ROOT_HOME}/.ssh/config && \
chown root:root ${ROOT_HOME}/.ssh/config && \
chown root:root /etc/bootstrap.sh && \
chmod 700 /etc/bootstrap.sh && \
chmod +x $HADOOP_HOME/etc/hadoop/*-env.sh && \
adduser hdpuser && \
echo 'hdpuser:hdppassword' | chpasswd && \
usermod -aG wheel hdpuser && \
echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
答案 0 :(得分:1)
这是因为未在使用sbin / hadoop-daemon.sh脚本的docker中设置USER env var。但是,如果使用hadoop,则应将env var HADOOP_IDENT_STRING设置为所需的用户,即在容器内部执行处理的用户。