Minor changes to base Dockerfile:
- Using debian:12-slim instead of base image - Added netcat-openbsd in installed packages which is needed for healthcheck - Added HADOOP_OPTS env for resourcemanager container - Changed env USER=hdoop from USER=root - Added useradd anc chown commands for hdoop user
This commit is contained in:
parent
074a0a48c4
commit
d2e0fb60fa
@ -1,5 +1,5 @@
|
|||||||
# Base image: Debian-12
|
# Base image: Debian-12
|
||||||
FROM debian:12
|
FROM debian:12-slim
|
||||||
|
|
||||||
# Update local package index, upgrade packages and install required packages.
|
# Update local package index, upgrade packages and install required packages.
|
||||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
@ -7,6 +7,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-ins
|
|||||||
net-tools \
|
net-tools \
|
||||||
curl \
|
curl \
|
||||||
gnupg \
|
gnupg \
|
||||||
|
netcat-openbsd \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Set Java env
|
# Set Java env
|
||||||
@ -39,15 +40,33 @@ RUN mkdir /opt/hadoop-$HADOOP_VERSION/logs /hadoop-data
|
|||||||
# Set env
|
# Set env
|
||||||
ENV HADOOP_HOME=/opt/hadoop-$HADOOP_VERSION
|
ENV HADOOP_HOME=/opt/hadoop-$HADOOP_VERSION
|
||||||
ENV HADOOP_CONF_DIR=/etc/hadoop
|
ENV HADOOP_CONF_DIR=/etc/hadoop
|
||||||
|
ENV HADOOP_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
|
||||||
ENV MULTIHOMED_NETWORK=1
|
ENV MULTIHOMED_NETWORK=1
|
||||||
ENV USER=root
|
ENV USER=hdoop
|
||||||
ENV PATH $HADOOP_HOME/bin/:$PATH
|
ENV PATH $HADOOP_HOME/bin/:$PATH
|
||||||
|
|
||||||
|
# Ensure required config files exist
|
||||||
|
# RUN mkdir -p /etc/hadoop && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/core-site.xml && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/hdfs-site.xml && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/yarn-site.xml && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/mapred-site.xml && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/httpfs-site.xml && \
|
||||||
|
# echo "<configuration></configuration>" > /etc/hadoop/kms-site.xml
|
||||||
|
|
||||||
|
# Create non-root user
|
||||||
|
RUN useradd -m -s /bin/bash hdoop
|
||||||
|
|
||||||
# Copy entrypoint.sh to container
|
# Copy entrypoint.sh to container
|
||||||
ADD entrypoint.sh /entrypoint.sh
|
ADD entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
# Set ownership for Hadoop dirs
|
||||||
|
RUN chown -R hdoop:hdoop /opt/hadoop-$HADOOP_VERSION /etc/hadoop /hadoop-data
|
||||||
|
|
||||||
# Make entrypoint.sh executable
|
# Make entrypoint.sh executable
|
||||||
RUN chmod a+x /entrypoint.sh
|
RUN chmod a+x /entrypoint.sh
|
||||||
|
|
||||||
|
USER hdoop
|
||||||
|
|
||||||
# Specify entrypoint
|
# Specify entrypoint
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
@ -1,24 +1,36 @@
|
|||||||
version: "3"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
namenode:
|
namenode:
|
||||||
image: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
|
image: cc/namenode:1.0
|
||||||
container_name: namenode
|
container_name: cc-namenode
|
||||||
restart: always
|
restart: no
|
||||||
ports:
|
ports:
|
||||||
- 9870:9870
|
- "9870:9870"
|
||||||
- 9000:9000
|
- "9000:9000"
|
||||||
|
user: "1000:1000"
|
||||||
|
security_opt:
|
||||||
|
no-new-privileges:true
|
||||||
|
deploy:
|
||||||
|
resouces:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4G
|
||||||
volumes:
|
volumes:
|
||||||
- hadoop_namenode:/hadoop/dfs/name
|
- hadoop_namenode:/hadoop/dfs/name
|
||||||
environment:
|
environment:
|
||||||
- CLUSTER_NAME=test
|
- CLUSTER_NAME=ccmini
|
||||||
env_file:
|
env_file:
|
||||||
- ./hadoop.env
|
- ./hadoop.env
|
||||||
|
|
||||||
datanode:
|
datanode:
|
||||||
image: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
|
image: cc/datanode:1.0
|
||||||
container_name: datanode
|
container_name: cc-datanode
|
||||||
restart: always
|
restart: no
|
||||||
|
user: "1000:1000"
|
||||||
|
security_opt:
|
||||||
|
no-new-privileges:true
|
||||||
|
deploy:
|
||||||
|
resouces:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4G
|
||||||
volumes:
|
volumes:
|
||||||
- hadoop_datanode:/hadoop/dfs/data
|
- hadoop_datanode:/hadoop/dfs/data
|
||||||
environment:
|
environment:
|
||||||
@ -27,27 +39,48 @@ services:
|
|||||||
- ./hadoop.env
|
- ./hadoop.env
|
||||||
|
|
||||||
resourcemanager:
|
resourcemanager:
|
||||||
image: bde2020/hadoop-resourcemanager:2.0.0-hadoop3.2.1-java8
|
image: cc/resoucemanager:1.0
|
||||||
container_name: resourcemanager
|
container_name: cc-resourcemanager
|
||||||
restart: always
|
restart: no
|
||||||
|
user: "1000:1000"
|
||||||
|
security_opt:
|
||||||
|
no-new-privileges:true
|
||||||
|
deploy:
|
||||||
|
resouces:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4G
|
||||||
environment:
|
environment:
|
||||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864"
|
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864"
|
||||||
env_file:
|
env_file:
|
||||||
- ./hadoop.env
|
- ./hadoop.env
|
||||||
|
|
||||||
nodemanager1:
|
nodemanager:
|
||||||
image: bde2020/hadoop-nodemanager:2.0.0-hadoop3.2.1-java8
|
image: cc/nodemanager:1.0
|
||||||
container_name: nodemanager
|
container_name: cc-nodemanager
|
||||||
restart: always
|
restart: no
|
||||||
|
user: "1000:1000"
|
||||||
|
security_opt:
|
||||||
|
no-new-privileges:true
|
||||||
|
deploy:
|
||||||
|
resouces:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4G
|
||||||
environment:
|
environment:
|
||||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
||||||
env_file:
|
env_file:
|
||||||
- ./hadoop.env
|
- ./hadoop.env
|
||||||
|
|
||||||
historyserver:
|
historyserver:
|
||||||
image: bde2020/hadoop-historyserver:2.0.0-hadoop3.2.1-java8
|
image: cc/historyserver:1.0
|
||||||
container_name: historyserver
|
container_name: cc-historyserver
|
||||||
restart: always
|
restart: no
|
||||||
|
user: "1000:1000"
|
||||||
|
security_opt:
|
||||||
|
no-new-privileges:true
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4G
|
||||||
environment:
|
environment:
|
||||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
||||||
volumes:
|
volumes:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user