فهرست منبع

HDDS-1632. Make the hadoop home word readable and avoid sudo in hadoop-runner.

Elek, Márton 6 سال پیش
والد
کامیت
22597d33ac
2فایلهای تغییر یافته به همراه3 افزوده شده و 6 حذف شده
  1. 2 2
      Dockerfile
  2. 1 4
      scripts/starter.sh

+ 2 - 2
Dockerfile

@@ -31,6 +31,7 @@ ENV PATH $PATH:/opt/hadoop/bin
 
 RUN groupadd --gid 1000 hadoop
 RUN useradd --uid 1000 hadoop --gid 100 --home /opt/hadoop
+RUN chmod 755 /opt/hadoop
 RUN echo "hadoop ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
 RUN chown hadoop /opt
 ADD scripts /opt/
@@ -40,7 +41,6 @@ RUN mkdir -p /etc/hadoop && mkdir -p /var/log/hadoop && chmod 1777 /etc/hadoop &
 ENV HADOOP_LOG_DIR=/var/log/hadoop
 ENV HADOOP_CONF_DIR=/etc/hadoop
 WORKDIR /opt/hadoop
-
-VOLUME /data
+RUN mkdir /data && chmod 1777 /data
 USER hadoop
 ENTRYPOINT ["/usr/local/bin/dumb-init", "--", "/opt/starter.sh"]

+ 1 - 4
scripts/starter.sh

@@ -96,9 +96,6 @@ if [ -n "$KERBEROS_ENABLED" ]; then
     sed "s/SERVER/$KERBEROS_SERVER/g" "$DIR"/krb5.conf | sudo tee /etc/krb5.conf
 fi
 
-#To avoid docker volume permission problems
-sudo chmod o+rwx /data
-
 "$DIR"/envtoconf.py --destination "${HADOOP_CONF_DIR:-/opt/hadoop/etc/hadoop}"
 
 if [ -n "$ENSURE_NAMENODE_DIR" ]; then
@@ -139,7 +136,7 @@ if [ -n "$BYTEMAN_SCRIPT" ] || [ -n "$BYTEMAN_SCRIPT_URL" ]; then
   export PATH=$PATH:$BYTEMAN_DIR/bin
 
   if [ ! -z "$BYTEMAN_SCRIPT_URL" ]; then
-    sudo wget $BYTEMAN_SCRIPT_URL -O /tmp/byteman.btm
+    wget $BYTEMAN_SCRIPT_URL -O /tmp/byteman.btm
     export BYTEMAN_SCRIPT=/tmp/byteman.btm
   fi