当前位置: 首页 > article >正文

Streamsets运行在国产化银河麒麟服务器

Streamsets的版本为3.16.0 离线版
国产化服务器:银河麒麟 ky10
国产化服务器架构:aarch64|arm64
国产化服务器操作系统类型:加密版和非加密版

加密版:三员管理,root为阉割的用户权限,非最高权限用户,安装软件使用指定软件安装,且需要安全审计员审核。无法安装docker,也不能使用tar包方式部署。可将StreamSets打包为rpm包部署。
非加密版:可安装docker,打一个arm版本的StreamSets镜像部署。

StreamSets打包docker-arm版基础镜像

docker desktop:Current version: 4.30.0 (149282)
Docker Engine:v26.1.1
因为win10环境下无法直接打arm版的镜像,需开启buildx,开启方式自行查阅。
window下docker打包命令:

docker buildx build --network host  --platform linux/arm64 --progress=plain  -f .\Dockerfile -t sdc-arm:8-jdk-alpine --load .

Dockerfile:

ARG BASE_IMAGE_TAG=8u402-b06-jdk-focal
FROM eclipse-temurin:$BASE_IMAGE_TAG

RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list

RUN apt-get update && \
    apt-get -y install \
    sudo \
    apache2-utils \
    curl \
    krb5-user \
    protobuf-compiler \  
    psmisc \
    lsb-release \
    iputils-ping \
    traceroute

# Used for configuring DNS resolution priority
RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf

# We need to set up GMT as the default timezone to maintain compatibility
RUN ln -fs /usr/share/zoneinfo/GMT /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata

注意:本地运行时先拉取eclipse-temurin:8u402-b06-jdk-focal镜像。也可按需添加需要的组件。
根据需要打包为其他版本的镜像,如:amd64|i386:x86-64,armhf|arm,ppc64el|powerpc:common64
因为在打包过程中会根据架构类型,获取不同的jdk安装包:

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='241a72d6f0051de30c71e7ade95b34cd85a249c8e5925bcc7a95872bee81fd84'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u402-b06/OpenJDK8U-jdk_aarch64_linux_hotspot_8u402b06.tar.gz'; ;; amd64|i386:x86-64) ESUM='fcfd08abe39f18e719e391f2fc37b8ac1053075426d10efac4cbf8969e7aa55e'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u402-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz'; ;; armhf|arm) ESUM='271f28c7b3592b201b7434292c21d923f520af8ff1c090b6849cb946e34a6bdb'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u402-b06/OpenJDK8U-jdk_arm_linux_hotspot_8u402b06.tar.gz'; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libatomic1; rm -rf /var/lib/apt/lists/*; ;; ppc64el|powerpc:common64) ESUM='64bc05cdffe827c84000177dca2eb4ff0a8ff0021889bb75abff3639d4f51838'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u402-b06/OpenJDK8U-jdk_ppc64le_linux_hotspot_8u402b06.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; # buildkit

在这里插入图片描述

打包rpm

StreamSets原生支持打包为rpm版本。
打包命令:

mvn clean package -Drelease -DskipTests 

执行完毕之后会分别生成el6和el7两份rpm包。根据实际情况选择。


http://www.kler.cn/a/290048.html

相关文章:

  • python制作一个简单的端口扫描器,用于检测目标主机上指定端口的开放状态
  • 【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • Spring Boot 2.x 和 Druid 多数据源整合 dm
  • ❤React-React 组件基础(类组件)
  • 蓝桥杯每日真题 - 第7天
  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • 报错:java:程序包org.springframework.boot不存在
  • 操作系统面试真题总结(五)
  • Unity(2022.3.41LTS) - UI详细介绍-画布
  • ChatGPT辅助论文写作的七大场景
  • zdppy+vue3+onlyoffice文档管理系统实战 20240903 上课笔记 登录功能完成
  • 数字化转型工具有哪些 无锡振宁科技
  • Vue项目安装依赖(npm install)报错的解决
  • 2024大模型学习:机器学习在安全领域的应用|从大数据中识别潜在安全威胁
  • 设计模式之解释器模式
  • LeetCode51 N 皇后
  • github上传代码
  • 河南省第三届职业技能大赛 网络安全(世赛选拔)项目样题
  • 【C++模板初阶】
  • 新换了电脑,电脑里常用的6款软件,下载回来继续用
  • Driver.js——实现页面引导
  • OpenFeign深入学习笔记
  • MySQL之DQL简单查询
  • 光纤接口简介
  • 三根K线形态介绍
  • OceanBase V4.2解析:如何用迭代器 Generator快速生成任意数据