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
|
||||
FROM debian:12
|
||||
FROM debian:12-slim
|
||||
|
||||
# Update local package index, upgrade packages and install required packages.
|
||||
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 \
|
||||
curl \
|
||||
gnupg \
|
||||
netcat-openbsd \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set Java env
|
||||
@ -39,15 +40,33 @@ RUN mkdir /opt/hadoop-$HADOOP_VERSION/logs /hadoop-data
|
||||
# Set env
|
||||
ENV HADOOP_HOME=/opt/hadoop-$HADOOP_VERSION
|
||||
ENV HADOOP_CONF_DIR=/etc/hadoop
|
||||
ENV HADOOP_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
|
||||
ENV MULTIHOMED_NETWORK=1
|
||||
ENV USER=root
|
||||
ENV USER=hdoop
|
||||
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
|
||||
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
|
||||
RUN chmod a+x /entrypoint.sh
|
||||
|
||||
USER hdoop
|
||||
|
||||
# Specify entrypoint
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
@ -1,24 +1,36 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
namenode:
|
||||
image: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
|
||||
container_name: namenode
|
||||
restart: always
|
||||
image: cc/namenode:1.0
|
||||
container_name: cc-namenode
|
||||
restart: no
|
||||
ports:
|
||||
- 9870:9870
|
||||
- 9000:9000
|
||||
- "9870:9870"
|
||||
- "9000:9000"
|
||||
user: "1000:1000"
|
||||
security_opt:
|
||||
no-new-privileges:true
|
||||
deploy:
|
||||
resouces:
|
||||
cpu: "2"
|
||||
memory: 4G
|
||||
volumes:
|
||||
- hadoop_namenode:/hadoop/dfs/name
|
||||
environment:
|
||||
- CLUSTER_NAME=test
|
||||
- CLUSTER_NAME=ccmini
|
||||
env_file:
|
||||
- ./hadoop.env
|
||||
|
||||
datanode:
|
||||
image: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
|
||||
container_name: datanode
|
||||
restart: always
|
||||
image: cc/datanode:1.0
|
||||
container_name: cc-datanode
|
||||
restart: no
|
||||
user: "1000:1000"
|
||||
security_opt:
|
||||
no-new-privileges:true
|
||||
deploy:
|
||||
resouces:
|
||||
cpu: "2"
|
||||
memory: 4G
|
||||
volumes:
|
||||
- hadoop_datanode:/hadoop/dfs/data
|
||||
environment:
|
||||
@ -27,27 +39,48 @@ services:
|
||||
- ./hadoop.env
|
||||
|
||||
resourcemanager:
|
||||
image: bde2020/hadoop-resourcemanager:2.0.0-hadoop3.2.1-java8
|
||||
container_name: resourcemanager
|
||||
restart: always
|
||||
image: cc/resoucemanager:1.0
|
||||
container_name: cc-resourcemanager
|
||||
restart: no
|
||||
user: "1000:1000"
|
||||
security_opt:
|
||||
no-new-privileges:true
|
||||
deploy:
|
||||
resouces:
|
||||
cpu: "2"
|
||||
memory: 4G
|
||||
environment:
|
||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864"
|
||||
env_file:
|
||||
- ./hadoop.env
|
||||
|
||||
nodemanager1:
|
||||
image: bde2020/hadoop-nodemanager:2.0.0-hadoop3.2.1-java8
|
||||
container_name: nodemanager
|
||||
restart: always
|
||||
nodemanager:
|
||||
image: cc/nodemanager:1.0
|
||||
container_name: cc-nodemanager
|
||||
restart: no
|
||||
user: "1000:1000"
|
||||
security_opt:
|
||||
no-new-privileges:true
|
||||
deploy:
|
||||
resouces:
|
||||
cpu: "2"
|
||||
memory: 4G
|
||||
environment:
|
||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
||||
env_file:
|
||||
- ./hadoop.env
|
||||
|
||||
historyserver:
|
||||
image: bde2020/hadoop-historyserver:2.0.0-hadoop3.2.1-java8
|
||||
container_name: historyserver
|
||||
restart: always
|
||||
image: cc/historyserver:1.0
|
||||
container_name: cc-historyserver
|
||||
restart: no
|
||||
user: "1000:1000"
|
||||
security_opt:
|
||||
no-new-privileges:true
|
||||
deploy:
|
||||
resources:
|
||||
cpu: "2"
|
||||
memory: 4G
|
||||
environment:
|
||||
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
|
||||
volumes:
|
||||
|
Loading…
x
Reference in New Issue
Block a user