From 409d19b3db4c28e3f428c2673608629aed066934 Mon Sep 17 00:00:00 2001 From: wjunLu Date: Wed, 16 Apr 2025 09:19:46 +0800 Subject: [PATCH 1/2] Add new images --- .../alluxio/2.9.4/24.03-lts-sp1/Dockerfile | 26 ++++ .../2.9.4/24.03-lts-sp1/conf/alluxio-env.sh | 63 +++++++++ .../2.9.4/24.03-lts-sp1/conf/core-site.xml | 127 ++++++++++++++++++ .../2.9.4/24.03-lts-sp1/conf/log4j.properties | 53 ++++++++ .../alluxio/2.9.4/24.03-lts-sp1/entrypoint.sh | 89 ++++++++++++ .../24.03-lts-sp1/libexec/alluxio-init.sh | 4 + .../24.03-lts-sp1/libexec/alluxio-vars.sh | 56 ++++++++ Storage/alluxio/meta.yml | 2 + Storage/arrow/19.0.1/24.03-lts-sp1/Dockerfile | 20 +++ Storage/arrow/meta.yml | 2 + Storage/cubefs/3.5.0/24.03-lts-sp1/Dockerfile | 26 ++++ Storage/cubefs/meta.yml | 2 + Storage/drill/1.21.2/24.03-lts-sp1/Dockerfile | 37 +++++ Storage/drill/1.21.2/24.03-lts-sp1/drill.ini | 2 + .../drill/1.21.2/24.03-lts-sp1/entrypoint.sh | 28 ++++ Storage/drill/meta.yml | 2 + Storage/image-list.yml | 7 +- .../lizardfs/3.12.0/24.03-lts-sp1/Dockerfile | 17 +++ Storage/lizardfs/meta.yml | 2 + 19 files changed, 564 insertions(+), 1 deletion(-) create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/Dockerfile create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/conf/alluxio-env.sh create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/conf/core-site.xml create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/conf/log4j.properties create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/entrypoint.sh create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-init.sh create mode 100644 Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-vars.sh create mode 100644 Storage/alluxio/meta.yml create mode 100644 Storage/arrow/19.0.1/24.03-lts-sp1/Dockerfile create mode 100644 Storage/arrow/meta.yml create mode 100644 Storage/cubefs/3.5.0/24.03-lts-sp1/Dockerfile create mode 100644 Storage/cubefs/meta.yml create mode 100644 Storage/drill/1.21.2/24.03-lts-sp1/Dockerfile create mode 100644 Storage/drill/1.21.2/24.03-lts-sp1/drill.ini create mode 100644 Storage/drill/1.21.2/24.03-lts-sp1/entrypoint.sh create mode 100644 Storage/drill/meta.yml create mode 100644 Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile create mode 100644 Storage/lizardfs/meta.yml diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/Dockerfile b/Storage/alluxio/2.9.4/24.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..cd3a3c74 --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/Dockerfile @@ -0,0 +1,26 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} + + +ARG VERSION="2.9.4" +ENV ALLUXIO_HOME=/opt/alluxio \ + ALLUXIO_CONF_DIR=/etc/alluxio \ + ALLUXIO_LOGS_DIR=/var/log/alluxio + +COPY entrypoint.sh /opt/docker/bin/ +COPY libexec/ /opt/docker/libexec/ +COPY conf/ ${ALLUXIO_CONF_DIR} + +WORKDIR ${ALLUXIO_HOME} +RUN yum install -y java-1.8.0-openjdk-devel hostname +RUN curl -fSL -o /tmp/alluxio.tar.gz https://downloads.alluxio.io/downloads/files/${VERSION}/alluxio-${VERSION}-bin.tar.gz +RUN tar -zxf /tmp/alluxio.tar.gz --strip-components=1 && \ + chown -R root:root ${ALLUXIO_HOME} && \ + mkdir -p ${ALLUXIO_CONF_DIR} && \ + mkdir -p ${ALLUXIO_LOGS_DIR} && \ + chmod 755 /opt/docker/bin/entrypoint.sh + +ENV PATH=$PATH:${ALLUXIO_HOME}/bin + +ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"] +CMD ["bash"] \ No newline at end of file diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/alluxio-env.sh b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/alluxio-env.sh new file mode 100644 index 00000000..ca0bc8d3 --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/alluxio-env.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# +# The Alluxio Open Foundation licenses this work under the Apache License, version 2.0 +# (the "License"). You may not use this work except in compliance with the License, which is +# available at www.apache.org/licenses/LICENSE-2.0 +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +# either express or implied, as more fully set forth in the License. +# +# See the NOTICE file distributed with this work for information regarding copyright ownership. +# + +# Copy this file as alluxio-env.sh and edit it to configure Alluxio for your +# site. This file is sourced to launch Alluxio servers or use Alluxio shell +# commands. +# +# This file is an optional approach to configure Alluxio options by setting the +# following listed environment variables. Note that, setting this file will not +# affect jobs (e.g., Spark job or MapReduce job) that are using Alluxio client +# as a library. Alternatively, it is recommended to create alluxio-site.properties file, +# which supports all the configuration options provided by Alluxio +# (http://www.alluxio.org/documentation/en/Configuration-Settings.html), +# and is respected by both external jobs and Alluxio servers (or shell). + +# The directory where Alluxio deployment is installed. (Default: the parent directory of libexec/). +ALLUXIO_HOME=/opt/alluxio + +# The directory where log files are stored. (Default: ${ALLUXIO_HOME}/logs). +# ALLUXIO_LOGS_DIR + +# Hostname of the master. +# ALLUXIO_MASTER_HOSTNAME + +# This is now deprecated. Support will be removed in v2.0 +# ALLUXIO_MASTER_ADDRESS + +# The directory where a worker stores in-memory data. (Default: /mnt/ramdisk). +# E.g. On linux, /mnt/ramdisk for ramdisk, /dev/shm for tmpFS; on MacOS, /Volumes/ramdisk for ramdisk +# ALLUXIO_RAM_FOLDER + +# Address of the under filesystem address. (Default: ${ALLUXIO_HOME}/underFSStorage) +# E.g. "/my/local/path" to use local fs, "hdfs://localhost:9000/alluxio" to use a local hdfs +ALLUXIO_UNDERFS_ADDRESS=/mnt/journal + +# How much memory to use per worker. (Default: 1GB) +# E.g. "1000MB", "2GB" +# ALLUXIO_WORKER_MEMORY_SIZE + +# Config properties set for Alluxio master, worker and shell. (Default: "") +# E.g. "-Dalluxio.master.port=39999" +# ALLUXIO_JAVA_OPTS + +# Config properties set for Alluxio master daemon. (Default: "") +# E.g. "-Dalluxio.master.port=39999" +# ALLUXIO_MASTER_JAVA_OPTS + +# Config properties set for Alluxio worker daemon. (Default: "") +# E.g. "-Dalluxio.worker.port=49999" to set worker port, "-Xms2048M -Xmx2048M" to limit the heap size of worker. +# ALLUXIO_WORKER_JAVA_OPTS + +# Config properties set for Alluxio shell. (Default: "") +# E.g. "-Dalluxio.user.file.writetype.default=CACHE_THROUGH" +# ALLUXIO_USER_JAVA_OPTS \ No newline at end of file diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/core-site.xml b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/core-site.xml new file mode 100644 index 00000000..636817df --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/core-site.xml @@ -0,0 +1,127 @@ + + + + fs.swift.impl + org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem + + + + + fs.swift.service.dal05.auth.url + https://dal05.objectstorage.softlayer.net/auth/v1.0 + + + fs.swift.service.dal05.http.port + 8080 + + + fs.swift.service.dal05.public + true + + + fs.swift.service.dal05.location-aware + false + + + fs.swift.service.ibm.dal05.endpoint.prefix + endpoints + + + fs.swift.service.dal05.apikey + API_KEY + + + fs.swift.service.dal05.username + ACCOUNT:USER NAME + + + fs.swift.service.dal05.use.get.auth + true + + + + + fs.swift.service.swift1.location-aware + false + + + fs.swift.service.swift1.auth.url + http://127.0.0.1:5000/v2.0/tokens + + + fs.swift.service.swift1.http.port + 8080 + + + fs.swift.service.swift1.region + RegionOne + + + fs.swift.service.swift1.public + true + + + fs.swift.service.swift1.auth.endpoint.prefix + endpoints + + + fs.swift.service.swift1.tenant + TENANT + + + fs.swift.service.swift1.password + PASSWORD + + + fs.swift.service.swift1.username + USER NAME + + + + + fs.swift.service.swift2.auth.url + http://127.0.0.1:8080/auth/v1.0 + + + fs.swift.service.swift2.http.port + 8080 + + + fs.swift.service.swift2.public + true + + + fs.swift.service.swift2.location-aware + false + + + fs.swift.service.swift2.endpoint.prefix + endpoints + + + fs.swift.service.swift2.apikey + testing + + + fs.swift.service.swift2.username + test:tester + + + fs.swift.service.swift2.use.get.auth + true + + \ No newline at end of file diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/log4j.properties b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/log4j.properties new file mode 100644 index 00000000..962e9059 --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/conf/log4j.properties @@ -0,0 +1,53 @@ +# +# The Alluxio Open Foundation licenses this work under the Apache License, version 2.0 +# (the "License"). You may not use this work except in compliance with the License, which is +# available at www.apache.org/licenses/LICENSE-2.0 +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +# either express or implied, as more fully set forth in the License. +# +# See the NOTICE file distributed with this work for information regarding copyright ownership. +# + +# May get overridden by System Property + +log4j.rootLogger=INFO, ${alluxio.logger.type} + +log4j.appender.Console=org.apache.log4j.ConsoleAppender +log4j.appender.Console.Target=System.out +log4j.appender.Console.layout=org.apache.log4j.PatternLayout +log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} (%F:%M) - %m%n + +# Appender for Master +log4j.appender.MASTER_LOGGER=org.apache.log4j.ConsoleAppender +log4j.appender.MASTER_LOGGER.Target=System.out +log4j.appender.MASTER_LOGGER.layout=org.apache.log4j.PatternLayout +log4j.appender.MASTER_LOGGER.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M) - %m%n + +# Appender for Proxy +log4j.appender.PROXY_LOGGER=org.apache.log4j.ConsoleAppender +log4j.appender.PROXY_LOGGER.Target=System.out +log4j.appender.PROXY_LOGGER.layout=org.apache.log4j.PatternLayout +log4j.appender.PROXY_LOGGER.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M) - %m%n + +# Appender for Workers +log4j.appender.WORKER_LOGGER=org.apache.log4j.ConsoleAppender +log4j.appender.WORKER_LOGGER.Target=System.out +log4j.appender.WORKER_LOGGER.layout=org.apache.log4j.PatternLayout +log4j.appender.WORKER_LOGGER.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M) - %m%n + +# Appender for User +log4j.appender.USER_LOGGER=org.apache.log4j.RollingFileAppender +log4j.appender.USER_LOGGER.File=${alluxio.logs.dir}/user_${user.name}.log +log4j.appender.USER_LOGGER.MaxFileSize=10MB +log4j.appender.USER_LOGGER.MaxBackupIndex=10 +log4j.appender.USER_LOGGER.layout=org.apache.log4j.PatternLayout +log4j.appender.USER_LOGGER.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M) - %m%n + +# Appender for Fuse +log4j.appender.FUSE_LOGGER=org.apache.log4j.RollingFileAppender +log4j.appender.FUSE_LOGGER.File=${alluxio.logs.dir}/fuse.log +log4j.appender.FUSE_LOGGER.MaxFileSize=10MB +log4j.appender.FUSE_LOGGER.MaxBackupIndex=10 +log4j.appender.FUSE_LOGGER.layout=org.apache.log4j.PatternLayout +log4j.appender.FUSE_LOGGER.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M) - %m%n \ No newline at end of file diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/entrypoint.sh b/Storage/alluxio/2.9.4/24.03-lts-sp1/entrypoint.sh new file mode 100644 index 00000000..5b594a74 --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -eo pipefail + +# Setup environment +source /opt/docker/libexec/alluxio-init.sh + + +get_env() { + BIN=$ALLUXIO_HOME/bin + ALLUXIO_LIBEXEC_DIR=${ALLUXIO_LIBEXEC_DIR:-$ALLUXIO_HOME/libexec} + . ${ALLUXIO_LIBEXEC_DIR}/alluxio-config.sh + CLASSPATH=${ALLUXIO_CLIENT_CLASSPATH} +} + + +start_worker() { + CLASSPATH=${ALLUXIO_SERVER_CLASSPATH} + + alluxio-mount.sh Mount + MOUNT_FAILED=$? + + if [ ${MOUNT_FAILED} -ne 0 ] ; then + echo "Mount failed, not starting worker" >&2 + exit 1 + fi + + if [[ -z ${ALLUXIO_WORKER_JAVA_OPTS} ]]; then + ALLUXIO_WORKER_JAVA_OPTS=${ALLUXIO_JAVA_OPTS} + fi + + echo "Starting worker @ $(hostname -f)" + ${JAVA} -cp ${CLASSPATH} ${ALLUXIO_WORKER_JAVA_OPTS} alluxio.worker.AlluxioWorker 2>&1 +} + + +start_master() { + CLASSPATH=${ALLUXIO_SERVER_CLASSPATH} + + if [[ -z ${ALLUXIO_MASTER_JAVA_OPTS} ]]; then + ALLUXIO_MASTER_JAVA_OPTS=${ALLUXIO_JAVA_OPTS} + fi + + if [ ! -d ${ALLUXIO_MASTER_JOURNAL_FOLDER}/BlockMaster ]; then + mkdir -p ${ALLUXIO_MASTER_JOURNAL_FOLDER} + alluxio format + fi + + echo "Starting master @ $(hostname -f)" + ${JAVA} -cp ${CLASSPATH} ${ALLUXIO_MASTER_JAVA_OPTS} alluxio.master.AlluxioMaster 2>&1 +} + + +start_proxy() { + CLASSPATH=${ALLUXIO_SERVER_CLASSPATH} + + if [[ -z ${ALLUXIO_PROXY_JAVA_OPTS} ]]; then + ALLUXIO_PROXY_JAVA_OPTS=${ALLUXIO_JAVA_OPTS} + fi + + echo "Starting proxy @ $(hostname -f)" + ${JAVA} -cp ${CLASSPATH} ${ALLUXIO_PROXY_JAVA_OPTS} alluxio.proxy.AlluxioProxy 2>&1 +} + + +main() { + # get environment + get_env + + # ensure log/data dirs + #ensure_dirs + + case "$1" in + master) + start_master + ;; + proxy) + start_proxy + ;; + worker) + start_worker + ;; + *) + exec $@ + exit $? + ;; + esac +} + +main "$@" \ No newline at end of file diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-init.sh b/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-init.sh new file mode 100644 index 00000000..2dd23dc6 --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -eo pipefail + +source /opt/docker/libexec/alluxio-vars.sh diff --git a/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-vars.sh b/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-vars.sh new file mode 100644 index 00000000..a012562a --- /dev/null +++ b/Storage/alluxio/2.9.4/24.03-lts-sp1/libexec/alluxio-vars.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# The directory where log files are stored. (Default: ${ALLUXIO_HOME}/logs). +# ALLUXIO_LOGS_DIR + +# The directory where a worker stores in-memory data. (Default: /mnt/ramdisk). +# E.g. On linux, /mnt/ramdisk for ramdisk, /dev/shm for tmpFS; on MacOS, /Volumes/ramdisk for ramdisk +export ALLUXIO_RAM_FOLDER=${ALLUXIO_RAM_FOLDER=/mnt/ramdisk} + +# Address of the under filesystem address. (Default: ${ALLUXIO_HOME}/underFSStorage) +# E.g. "/my/local/path" to use local fs, "hdfs://localhost:9000/alluxio" to use a local hdfs +export ALLUXIO_UNDERFS_ADDRESS=${ALLUXIO_UNDERFS_ADDRESS=${ALLUXIO_HOME}/underFSStorage} + +# How much memory to use per worker. (Default: 1GB) +# E.g. "1000MB", "2GB" +export ALLUXIO_WORKER_MEMORY_SIZE=${ALLUXIO_WORKER_MEMORY_SIZE=1GB} + +# Config properties set for Alluxio master, worker and shell. (Default: "") +# E.g. "-Dalluxio.master.port=39999" +# ALLUXIO_JAVA_OPTS + +# Config properties set for Alluxio master daemon. (Default: "") +# E.g. "-Dalluxio.master.port=39999" +# ALLUXIO_MASTER_JAVA_OPTS + +# Config properties set for Alluxio worker daemon. (Default: "") +# E.g. "-Dalluxio.worker.port=49999" to set worker port, "-Xms2048M -Xmx2048M" to limit the heap size of worker. +# ALLUXIO_WORKER_JAVA_OPTS + +# Config properties set for Alluxio shell. (Default: "") +# E.g. "-Dalluxio.user.file.writetype.default=CACHE_THROUGH" +# ALLUXIO_USER_JAVA_OPTS + + +# Hostname of the master. +export ALLUXIO_MASTER_HOSTNAME=${ALLUXIO_MASTER_HOSTNAME=localhost} +export ALLUXIO_MASTER_PORT=${ALLUXIO_MASTER_PORT=19998} +export ALLUXIO_MASTER_WEB_PORT=${ALLUXIO_MASTER_WEB_PORT=19999} +export ALLUXIO_MASTER_JOURNAL_FOLDER=${ALLUXIO_MASTER_JOURNAL_FOLDER=/mnt/journal} + +# Hostname of the worker +export ALLUXIO_WORKER_HOSTNAME=${ALLUXIO_WORKER_HOSTNAME=$(hostname -f)} +export ALLUXIO_WORKER_PORT=${ALLUXIO_WORKER_PORT=29998} +export ALLUXIO_WORKER_WEB_PORT=${ALLUXIO_WORKER_WEB_PORT=30000} +export ALLUXIO_WORKER_DATA_PORT=${ALLUXIO_WORKER_DATA_PORT=29999} +export ALLUXIO_WORKER_FOLDER=${ALLUXIO_WORKER_FOLDER=alluxio} + +# S3 properties +export S3_PROXY_HOST=${S3_PROXY_HOST} +export S3_PROXY_PORT=${S3_PROXY_PORT=-1} +export S3_PROXY_USE_HTTPS=${S3_PROXY_USE_HTTPS=false} +export S3_ENDPOINT=${S3_ENDPOINT} +export S3_ENDPOINT_HTTP_PORT=${S3_ENDPOINT_HTTP_PORT=80} +export S3_ENDPOINT_HTTPS_PORT=${S3_ENDPOINT_HTTPS_PORT=443} + +export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} +export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} \ No newline at end of file diff --git a/Storage/alluxio/meta.yml b/Storage/alluxio/meta.yml new file mode 100644 index 00000000..012f5a1c --- /dev/null +++ b/Storage/alluxio/meta.yml @@ -0,0 +1,2 @@ +2.9.4-oe2403sp1: + path: 2.9.4/24.03-lts-sp1/Dockerfile \ No newline at end of file diff --git a/Storage/arrow/19.0.1/24.03-lts-sp1/Dockerfile b/Storage/arrow/19.0.1/24.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..65272a25 --- /dev/null +++ b/Storage/arrow/19.0.1/24.03-lts-sp1/Dockerfile @@ -0,0 +1,20 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} + +ARG VERSION=19.0.1 + +RUN yum install -y git gcc gcc-c++ make cmake wget && \ + yum clean all + +RUN git clone -b maint-${VERSION} https://github.com/apache/arrow.git && \ + mkdir -p /arrow/cpp/release + +WORKDIR /arrow/cpp/release && \ + camke .. && \ + make -j$(nproc) \ + && make install DESTDIR=/usr/local + +RUN rm -rf /arrow + +WORKDIR /usr/local +CMD ["/bin/bash"] \ No newline at end of file diff --git a/Storage/arrow/meta.yml b/Storage/arrow/meta.yml new file mode 100644 index 00000000..a364baa9 --- /dev/null +++ b/Storage/arrow/meta.yml @@ -0,0 +1,2 @@ +19.0.1-oe2403sp1: + path: 19.0.1/24.03-lts-sp1/Dockerfile \ No newline at end of file diff --git a/Storage/cubefs/3.5.0/24.03-lts-sp1/Dockerfile b/Storage/cubefs/3.5.0/24.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..9c433f4a --- /dev/null +++ b/Storage/cubefs/3.5.0/24.03-lts-sp1/Dockerfile @@ -0,0 +1,26 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder + +ARG TARGETARCH +ARG VERSION=3.5.0 +ARG GO_VERSION=1.17 + +WORKDIR /app +RUN yum install -y git make cmake g++ maven && \ + yum clean all && \ + curl -fSL -o go.tar.gz https://golang.google.cn/dl/go${GO_VERSION}.linux-${TARGETARCH}.tar.gz && \ + tar -xvf go.tar.gz -C /usr/local && \ + rm -rf go.tar.gz +ENV PATH="/usr/local/go/bin:${PATH}" + +RUN git clone -b v${VERSION} https://github.com/cubefs/cubefs.git && \ + cd cubefs && \ + make + + +FROM ${BASE} + +COPY --from=builder /usr/local/go /usr/local/go +COPY --from=builder /app/cubefs/build/bin/* /usr/local/bin/ + +ENV PATH="/usr/local/go/bin:${PATH}" \ No newline at end of file diff --git a/Storage/cubefs/meta.yml b/Storage/cubefs/meta.yml new file mode 100644 index 00000000..a6810f6b --- /dev/null +++ b/Storage/cubefs/meta.yml @@ -0,0 +1,2 @@ +3.5.0-oe2403sp1: + path: 3.5.0/24.03-lts-sp1/Dockerfile \ No newline at end of file diff --git a/Storage/drill/1.21.2/24.03-lts-sp1/Dockerfile b/Storage/drill/1.21.2/24.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..3f5dcc86 --- /dev/null +++ b/Storage/drill/1.21.2/24.03-lts-sp1/Dockerfile @@ -0,0 +1,37 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} + +ARG VERSION=1.21.2 + + +ARG PACKAGE=apache-drill-${VERSION}.tar.gz +ARG PACKAGE_RUL=https://dlcdn.apache.org/drill/${VERSION}/${PACKAGE} + +ENV DRILL_HEAP=900M +ENV ZOOKEEPER_HOST=zookeeper +ENV PATH $PATH:/apache-drill/bin:/zookeeper/bin + +WORKDIR / +RUN dnf install -y java-1.8.0-openjdk-devel supervisor which && \ + yum clean all && \ + mkdir -p /etc/supervisor.d + +RUN curl -fSL -o "${PACKAGE}" "$PACKAGE_RUL" && \ + tar zxf "${PACKAGE}" && \ + test -d "apache-drill-${VERSION}" && \ + rm -fv "${PACKAGE}" && \ + ln -sv "apache-drill-${VERSION}" apache-drill + +COPY entrypoint.sh / +COPY drill.ini /etc/supervisor.d/ +RUN sed -i -e "s/-Xms1G/-Xms\$DRILL_MAX_HEAP/" apache-drill/conf/drill-env.sh && \ + sed -i -e "s/^DRILL_MAX_HEAP=.*/DRILL_MAX_HEAP=\"${DRILL_HEAP}\"/" apache-drill/conf/drill-env.sh && \ + sed -i -e "s/^DRILL_HEAP=.*/DRILL_HEAP=\"${DRILL_HEAP}\"/" apache-drill/conf/drill-env.sh && \ + sed -i -e "s/^\([[:space:]]*\)zk.connect:.*/\\1zk.connect: \"${ZOOKEEPER_HOST}\"/" apache-drill/conf/drill-override.conf && \ + chmod 755 /entrypoint.sh + + + +EXPOSE 8047 + +CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/Storage/drill/1.21.2/24.03-lts-sp1/drill.ini b/Storage/drill/1.21.2/24.03-lts-sp1/drill.ini new file mode 100644 index 00000000..eb655ac9 --- /dev/null +++ b/Storage/drill/1.21.2/24.03-lts-sp1/drill.ini @@ -0,0 +1,2 @@ +[program:drill] +command=sh -c '/apache-drill/bin/drillbit.sh start && sleep 2 && tail -f /dev/null /apache-drill/log/*' \ No newline at end of file diff --git a/Storage/drill/1.21.2/24.03-lts-sp1/entrypoint.sh b/Storage/drill/1.21.2/24.03-lts-sp1/entrypoint.sh new file mode 100644 index 00000000..14d57b17 --- /dev/null +++ b/Storage/drill/1.21.2/24.03-lts-sp1/entrypoint.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -euo pipefail +[ -n "${DEBUG:-}" ] && set -x + +export JAVA_HOME="${JAVA_HOME:-/usr}" +export DRILL_HEAP="${DRILL_HEAP:-900M}" +export ZOOKEEPER_HOST="${ZOOKEEPER_HOST:-zookeeper}" + +sed -i -e "s/-Xms1G/-Xms\$DRILL_MAX_HEAP/" apache-drill/conf/drill-env.sh +sed -i -e "s/^DRILL_MAX_HEAP=.*/DRILL_MAX_HEAP=\"${DRILL_HEAP}\"/" apache-drill/conf/drill-env.sh + +sed -i -e "s/^DRILL_HEAP=.*/DRILL_HEAP=\"${DRILL_HEAP}\"/" apache-drill/conf/drill-env.sh +sed -i -e "s/^\\([[:space:]]*\\)zk.connect:.*/\\1zk.connect: \"${ZOOKEEPER_HOST}\"/" apache-drill/conf/drill-override.conf + +if [ -t 0 ]; then + sqlline -u jdbc:drill:zk=local +else + echo " +Running non-interactively, will not open Apache Drill SQL shell + +For Apache Drill shell start this image with 'docker run -t -i' switches + +Otherwise you will need to have a separate ZooKeeper container linked (one is available from harisekhon/zookeeper) and specify: + +docker run -e ZOOKEEPER_HOST=:2181 supervisord -n +" +fi \ No newline at end of file diff --git a/Storage/drill/meta.yml b/Storage/drill/meta.yml new file mode 100644 index 00000000..86e89766 --- /dev/null +++ b/Storage/drill/meta.yml @@ -0,0 +1,2 @@ +1.21.2-oe2403sp1: + path: 1.21.2/24.03-lts-sp1/Dockerfile \ No newline at end of file diff --git a/Storage/image-list.yml b/Storage/image-list.yml index 3622e70b..5559f1e1 100644 --- a/Storage/image-list.yml +++ b/Storage/image-list.yml @@ -1,3 +1,8 @@ images: daos: daos - kudu: kudu \ No newline at end of file + kudu: kudu + alluxio: alluxio + arrow: arrow + cubefs: cubefs + drill: drill + lizardfs: lizardfs \ No newline at end of file diff --git a/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile b/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile new file mode 100644 index 00000000..f0381ba0 --- /dev/null +++ b/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile @@ -0,0 +1,17 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} + +ARG VERSION=3.12.0 + +RUN yum install -y \ + fmt fmt-devel git gcc gcc-c++ fuse-devel cmake pkgconfig unzip spdlog-devel \ + zlib-devel asciidoc Judy-devel libdb-devel boost-devel pam-devel make && \ + yum clean all + +RUN git clone https://github.com/lizardfs/lizardfs.git +WORKDIR /lizardfs +RUN sed -i "s/fsync(ctx, fileinfo)/fsync(ctx, fileinfo, ec)/g" src/mount/client/client.cc && \ + sed -i "s/readlink(ctx, inode)/readlink(ctx, inode, ec)/g" src/mount/client/client.cc && \ + ./configure && \ + make -j4 && \ + make install \ No newline at end of file diff --git a/Storage/lizardfs/meta.yml b/Storage/lizardfs/meta.yml new file mode 100644 index 00000000..64d7f797 --- /dev/null +++ b/Storage/lizardfs/meta.yml @@ -0,0 +1,2 @@ +3.12.0-oe2403sp1: + path: 3.12.0/24.03-lts-sp1/Dockerfile \ No newline at end of file -- Gitee From 34096a2b4acecb13b51da5cb526901405f5d4d54 Mon Sep 17 00:00:00 2001 From: wjunLu Date: Thu, 17 Apr 2025 12:32:39 +0800 Subject: [PATCH 2/2] bugfix --- Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile b/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile index f0381ba0..61cc7af3 100644 --- a/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile +++ b/Storage/lizardfs/3.12.0/24.03-lts-sp1/Dockerfile @@ -12,6 +12,7 @@ RUN git clone https://github.com/lizardfs/lizardfs.git WORKDIR /lizardfs RUN sed -i "s/fsync(ctx, fileinfo)/fsync(ctx, fileinfo, ec)/g" src/mount/client/client.cc && \ sed -i "s/readlink(ctx, inode)/readlink(ctx, inode, ec)/g" src/mount/client/client.cc && \ + sed -i "s/first(\*reinterpret_cast(first_data.data())), second(b)/first_data{}, first(\*reinterpret_cast(first_data.data())), second(b)/g" src/common/judy_map.h && \ ./configure && \ make -j4 && \ make install \ No newline at end of file -- Gitee