[ 
https://issues.apache.org/jira/browse/HADOOP-19209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17879713#comment-17879713
 ] 

ASF GitHub Bot commented on HADOOP-19209:
-----------------------------------------

smengcl commented on code in PR #6910:
URL: https://github.com/apache/hadoop/pull/6910#discussion_r1746260665


##########
Dockerfile:
##########
@@ -14,33 +14,86 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM centos
-RUN rpm -Uvh 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-RUN yum install -y sudo python2-pip wget nmap-ncat jq java-11-openjdk
-RUN pip install robotframework
-RUN wget -O /usr/local/bin/dumb-init 
https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64
-RUN chmod +x /usr/local/bin/dumb-init
-RUN mkdir -p /etc/security/keytabs && chmod -R a+wr /etc/security/keytabs 
-ADD 
https://repo.maven.apache.org/maven2/org/jboss/byteman/byteman/4.0.4/byteman-4.0.4.jar
 /opt/byteman.jar
-RUN chmod o+r /opt/byteman.jar
-RUN mkdir -p /opt/profiler && \
-    cd /opt/profiler && \
-    curl -L 
https://github.com/jvm-profiling-tools/async-profiler/releases/download/v1.5/async-profiler-1.5-linux-x64.tar.gz
 | tar xvz
-ENV JAVA_HOME=/usr/lib/jvm/jre/
-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/
-ADD scripts/krb5.conf /etc/
-RUN yum install -y krb5-workstation
-RUN mkdir -p /etc/hadoop && mkdir -p /var/log/hadoop && chmod 1777 /etc/hadoop 
&& chmod 1777 /var/log/hadoop
-ENV HADOOP_LOG_DIR=/var/log/hadoop
+ARG JAVA_VERSION=11
+
+# Ubuntu 22.04 LTS
+FROM eclipse-temurin:${JAVA_VERSION}-jammy
+
+RUN apt update -q \
+    && DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
+      jq \
+      krb5-user \
+      ncat \
+      python3-pip \
+      python-is-python3 \
+      sudo \
+    && apt clean
+
+# Robot Framework for testing
+RUN pip install robotframework \
+    && rm -fr ~/.cache/pip
+
+#dumb init for proper init handling
+RUN set -eux; \
+    ARCH="$(arch)"; \
+    v=1.2.5 ; \
+    
url="https://github.com/Yelp/dumb-init/releases/download/v${v}/dumb-init_${v}_${ARCH}";;
 \
+    case "${ARCH}" in \
+      x86_64) \
+        
sha256='e874b55f3279ca41415d290c512a7ba9d08f98041b28ae7c2acb19a545f1c4df'; \
+        ;; \
+      aarch64) \

Review Comment:
   @ayushtkn Yup `aarch64` alone should do it here for the `Dockerfile`, 
because `arch` command returns `aarch64` on Linux (inside a Docker Desktop VM 
on macOS).
   
   It is true that `arch` command on macOS (M1 or later) gives `arm64`, but I 
don't see a case where `Dockerfile` would be built **natively** (by `docker 
build` under macOS, which differs from #6962 . So I don't think that is a 
problem here.
   
   On a sidenote, `MACHTYPE` env variable is not a reliable way to give the 
**current** system architecture because for instance `zsh` always gives the 
compile-time system arch: https://apple.stackexchange.com/a/467854 . And this 
is happening to the `zsh` shipped in latest macOS builds for M1 and later 
(presumably because it was cross-compiled on a `x86_64` box):
   
   ```bash
   $ uname -mp
   arm64 arm
   $ echo $0
   -zsh
   $ echo $MACHTYPE
   x86_64
   ```
   
   while built-in `bash` behaves differently and gives the intended result.
   
   This should prove the point that `MACHTYPE` env variable (alone) is not 
reliable.





> Update and optimize hadoop-runner
> ---------------------------------
>
>                 Key: HADOOP-19209
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19209
>             Project: Hadoop Common
>          Issue Type: Improvement
>            Reporter: Attila Doroszlai
>            Assignee: Attila Doroszlai
>            Priority: Major
>              Labels: pull-request-available
>
> {{hadoop-runner:latest}} is 5 years old and could use some improvements.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to