From 927cbde3f0025038e96f784531eacfa14b95ff29 Mon Sep 17 00:00:00 2001 From: Chen Haifeng Date: Thu, 31 Aug 2023 08:29:01 +0800 Subject: [PATCH] Docker: install the metrics components by default in docker images (#1819) --- docker/runtime/presto/Dockerfile | 15 ++++++++++++++- docker/runtime/spark/Dockerfile | 16 ++++++++++++++-- docker/runtime/spark/native-sql/Dockerfile | 16 ++++++++++++++-- docker/runtime/spark/optimized/Dockerfile | 16 ++++++++++++++-- docker/runtime/trino/Dockerfile | 15 ++++++++++++++- docker/runtime/universe/Dockerfile | 2 -- 6 files changed, 70 insertions(+), 10 deletions(-) diff --git a/docker/runtime/presto/Dockerfile b/docker/runtime/presto/Dockerfile index 076ce48d4..7609eb420 100644 --- a/docker/runtime/presto/Dockerfile +++ b/docker/runtime/presto/Dockerfile @@ -1,13 +1,26 @@ ARG BASE_IMAGE="nightly" FROM cloudtik/cloudtik-deps:"$BASE_IMAGE" +ARG NODE_EXPORTER_VERSION=1.6.1 +ARG PROMETHEUS_VERSION=2.45.0 ARG PRESTO_VERSION=0.276 ENV RUNTIME_PATH /home/cloudtik/runtime RUN mkdir -p $RUNTIME_PATH WORKDIR /home/cloudtik/runtime -# TODO: Install prometheus +# Install prometheus and node exporter +ENV NODE_EXPORTER_HOME $RUNTIME_PATH/node_exporter +ENV PROMETHEUS_HOME $RUNTIME_PATH/prometheus + +RUN wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz -O node_exporter.tar.gz && \ + mkdir -p "$NODE_EXPORTER_HOME" && \ + tar --extract --file node_exporter.tar.gz --directory "$NODE_EXPORTER_HOME" --strip-components 1 --no-same-owner && \ + rm node_exporter.tar.gz && \ + wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O prometheus.tar.gz && \ + mkdir -p "$PROMETHEUS_HOME" && \ + tar --extract --file prometheus.tar.gz --directory "$PROMETHEUS_HOME" --strip-components 1 --no-same-owner && \ + rm prometheus.tar.gz # Install JDK ENV JAVA_HOME $RUNTIME_PATH/jdk diff --git a/docker/runtime/spark/Dockerfile b/docker/runtime/spark/Dockerfile index 0dfad9948..8b088a98e 100644 --- a/docker/runtime/spark/Dockerfile +++ b/docker/runtime/spark/Dockerfile @@ -1,7 +1,8 @@ ARG BASE_IMAGE="nightly" FROM cloudtik/cloudtik-deps:"$BASE_IMAGE" -# Install spark based Analytics + AI platform components +ARG NODE_EXPORTER_VERSION=1.6.1 +ARG PROMETHEUS_VERSION=2.45.0 ARG SPARK_VERSION=3.2.1 ARG HADOOP_VERSION=3.3.1 @@ -9,7 +10,18 @@ ENV RUNTIME_PATH /home/cloudtik/runtime RUN mkdir -p $RUNTIME_PATH WORKDIR /home/cloudtik/runtime -# TODO: Install prometheus +# Install prometheus and node exporter +ENV NODE_EXPORTER_HOME $RUNTIME_PATH/node_exporter +ENV PROMETHEUS_HOME $RUNTIME_PATH/prometheus + +RUN wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz -O node_exporter.tar.gz && \ + mkdir -p "$NODE_EXPORTER_HOME" && \ + tar --extract --file node_exporter.tar.gz --directory "$NODE_EXPORTER_HOME" --strip-components 1 --no-same-owner && \ + rm node_exporter.tar.gz && \ + wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O prometheus.tar.gz && \ + mkdir -p "$PROMETHEUS_HOME" && \ + tar --extract --file prometheus.tar.gz --directory "$PROMETHEUS_HOME" --strip-components 1 --no-same-owner && \ + rm prometheus.tar.gz # Fuse RUN sudo apt-get update -y \ diff --git a/docker/runtime/spark/native-sql/Dockerfile b/docker/runtime/spark/native-sql/Dockerfile index 8a1c54ae6..ca742b485 100644 --- a/docker/runtime/spark/native-sql/Dockerfile +++ b/docker/runtime/spark/native-sql/Dockerfile @@ -1,7 +1,8 @@ ARG BASE_IMAGE="nightly" FROM cloudtik/cloudtik:"$BASE_IMAGE" -# Install spark based Analytics + AI platform components +ARG NODE_EXPORTER_VERSION=1.6.1 +ARG PROMETHEUS_VERSION=2.45.0 ARG SPARK_VERSION=3.2.1 ARG HADOOP_VERSION=3.3.1 @@ -9,7 +10,18 @@ ENV RUNTIME_PATH /home/cloudtik/runtime RUN mkdir -p $RUNTIME_PATH WORKDIR /home/cloudtik/runtime -# TODO: Install prometheus +# Install prometheus and node exporter +ENV NODE_EXPORTER_HOME $RUNTIME_PATH/node_exporter +ENV PROMETHEUS_HOME $RUNTIME_PATH/prometheus + +RUN wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz -O node_exporter.tar.gz && \ + mkdir -p "$NODE_EXPORTER_HOME" && \ + tar --extract --file node_exporter.tar.gz --directory "$NODE_EXPORTER_HOME" --strip-components 1 --no-same-owner && \ + rm node_exporter.tar.gz && \ + wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O prometheus.tar.gz && \ + mkdir -p "$PROMETHEUS_HOME" && \ + tar --extract --file prometheus.tar.gz --directory "$PROMETHEUS_HOME" --strip-components 1 --no-same-owner && \ + rm prometheus.tar.gz # Install JDK ENV JAVA_HOME $RUNTIME_PATH/jdk diff --git a/docker/runtime/spark/optimized/Dockerfile b/docker/runtime/spark/optimized/Dockerfile index 04ee1e6a2..01786f721 100644 --- a/docker/runtime/spark/optimized/Dockerfile +++ b/docker/runtime/spark/optimized/Dockerfile @@ -1,7 +1,8 @@ ARG BASE_IMAGE="nightly" FROM cloudtik/cloudtik:"$BASE_IMAGE" -# Install spark based Analytics + AI platform components +ARG NODE_EXPORTER_VERSION=1.6.1 +ARG PROMETHEUS_VERSION=2.45.0 ARG SPARK_VERSION=3.3.0 ARG HADOOP_VERSION=3.3.1 @@ -9,7 +10,18 @@ ENV RUNTIME_PATH /home/cloudtik/runtime RUN mkdir -p $RUNTIME_PATH WORKDIR /home/cloudtik/runtime -# TODO: Install prometheus +# Install prometheus and node exporter +ENV NODE_EXPORTER_HOME $RUNTIME_PATH/node_exporter +ENV PROMETHEUS_HOME $RUNTIME_PATH/prometheus + +RUN wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz -O node_exporter.tar.gz && \ + mkdir -p "$NODE_EXPORTER_HOME" && \ + tar --extract --file node_exporter.tar.gz --directory "$NODE_EXPORTER_HOME" --strip-components 1 --no-same-owner && \ + rm node_exporter.tar.gz && \ + wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O prometheus.tar.gz && \ + mkdir -p "$PROMETHEUS_HOME" && \ + tar --extract --file prometheus.tar.gz --directory "$PROMETHEUS_HOME" --strip-components 1 --no-same-owner && \ + rm prometheus.tar.gz # Install JDK ENV JAVA_HOME $RUNTIME_PATH/jdk diff --git a/docker/runtime/trino/Dockerfile b/docker/runtime/trino/Dockerfile index 26a75c84f..27ba546e2 100644 --- a/docker/runtime/trino/Dockerfile +++ b/docker/runtime/trino/Dockerfile @@ -1,6 +1,8 @@ ARG BASE_IMAGE="nightly" FROM cloudtik/cloudtik-deps:"$BASE_IMAGE" +ARG NODE_EXPORTER_VERSION=1.6.1 +ARG PROMETHEUS_VERSION=2.45.0 ARG TRINO_VERSION=389 ARG HADOOP_VERSION=3.3.1 @@ -8,7 +10,18 @@ ENV RUNTIME_PATH /home/cloudtik/runtime RUN mkdir -p $RUNTIME_PATH WORKDIR /home/cloudtik/runtime -# TODO: Install prometheus +# Install prometheus and node exporter +ENV NODE_EXPORTER_HOME $RUNTIME_PATH/node_exporter +ENV PROMETHEUS_HOME $RUNTIME_PATH/prometheus + +RUN wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz -O node_exporter.tar.gz && \ + mkdir -p "$NODE_EXPORTER_HOME" && \ + tar --extract --file node_exporter.tar.gz --directory "$NODE_EXPORTER_HOME" --strip-components 1 --no-same-owner && \ + rm node_exporter.tar.gz && \ + wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz -O prometheus.tar.gz && \ + mkdir -p "$PROMETHEUS_HOME" && \ + tar --extract --file prometheus.tar.gz --directory "$PROMETHEUS_HOME" --strip-components 1 --no-same-owner && \ + rm prometheus.tar.gz # Install JDK ENV JAVA_HOME $RUNTIME_PATH/jdk diff --git a/docker/runtime/universe/Dockerfile b/docker/runtime/universe/Dockerfile index e0c4ba0c7..945b183ec 100644 --- a/docker/runtime/universe/Dockerfile +++ b/docker/runtime/universe/Dockerfile @@ -24,8 +24,6 @@ ENV PRESTO_HOME $RUNTIME_PATH/presto ENV PATH $PRESTO_HOME/bin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH -# TODO: Install prometheus - RUN wget https://downloads.apache.org/zookeeper/zookeeper-${ZOOKEEPER_VERSION}/apache-zookeeper-${ZOOKEEPER_VERSION}-bin.tar.gz -O zookeeper-${ZOOKEEPER_VERSION}.tar.gz -O zookeeper.tar.gz \ && mkdir -p "$ZOOKEEPER_HOME" \ && tar --extract --file zookeeper.tar.gz --directory "$ZOOKEEPER_HOME" --strip-components 1 --no-same-owner \