为什么在运行时会变乱:在`/ usr / local / hadoop / logs'之后缺少操作数

时间:2019-11-12 08:21:41

标签: dockerfile

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

1 个答案:

答案 0 :(得分:1)

这是因为未在使用sbin / hadoop-daemon.sh脚本的docker中设置USER env var。但是,如果使用hadoop,则应将env var HADOOP_IDENT_STRING设置为所需的用户,即在容器内部执行处理的用户。

请参见Docker why isn't $USER environment variable set