EasyMR 基于国产化信创的适配实践技术详解

打印 上一主题 下一主题

主题 660|帖子 660|积分 1980

国产化信创,即接纳国产信息技术产品和服务,构建自主可控的信息技术体系。近年来,随着国家对网络安全和信息安全的重视程度不断提高,国产化信创已经成为国家战略的重要组成部分,并呈现出以下大趋势:
● 政策驱动,加快发展
国家出台了一系列政策法规,大力支持国产化信创财产发展。例如,《“十四五”数字经济发展规划》提出,到2025年,关键信息技术领域核心技术攻关取得突破性进展,关键软件、硬件产品和服务实现替代能力显著增强。《“十四五”国家信息化规划》提出,加快构建安全可控的数字基础设施,推进关键信息技术领域自主研发应用。
在政策的强力推动下,国产化信创财产发展势头迅猛,市场规模不断扩大。据统计,2023年中国信创财产市场规模突破1万亿元,预计到2025年将达到2万亿元以上。
● 技术突破,生态构建
国产化信创财产的核心是技术攻关和生态构建。近年来,国产操作系统、数据库、中间件等基础软件产品取得了庞大进展,性能和稳定性不断提拔,与国外产品差距逐渐缩小。同时,国产信创生态体系也在逐步完善,应用软件、安全产品等配套产品和服务得到不断的丰富和创新。
● 应用拓展,场景多样
国产化信创的应用场景不断拓展,从党政构造、金融、电信等关键领域向教诲、医疗、交通等更多行业延伸。例如,在教诲领域,北京、上海等地已经开展了高校信创试点工作;在医疗领域,多家医院已经部署了国产化信创系统。
● 安全可控,自主可控
国产化信创的根本目标是实现信息技术的自主可控和安全可控。通过接纳国产信息技术产品和服务,有用降低信息安全风险,提拔国家信息安全程度。
总体而言,国产化信创是时代发展的必然趋势,具有广阔的市场前景,未来,随着技术的不断进步和应用场景的不断拓展,国产化信创将迎来更加快速发展的新阶段。
EasyMR 基于国产化信创适配的支持

EasyMR,作为袋鼠云基于云原生技术和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等开源大数据组件构建的弹性计算引擎。提供安全可靠、低成本、弹性伸缩的大数据存储与计算服务,并实现 Hadoop 集群的一站式创建、管理、部署、运维与监控。
EasyMR 的核心组件接纳国产化自研方式,已乐成适配多种国产操作系统和处理器,包括:
· 银河麒麟V10(Intel X86、鲲鹏920、飞腾2000)
· 银河麒麟V4(Intel X86、飞腾2000)
· 中标麒麟V7.6(Intel X86)
· 统信UOS V20(Intel X86、鲲鹏920)
· 龙蜥8.4(Intel X86)
在国产化信创数据库方面,EasyMR 已经适配了达梦8数据库,并且将数据库层的增删改查操作做了一层抽象接口。这种设计使得未来适配其他国产化信创数据库变得十分简便。
接下来将从技术实现的角度具体介绍 EasyMR 组件如何适配国产化操作系统和处理器。
关于 Docker Buildx

在 EasyMR 的私有化部署过程中,我们选择了 Docker作为部署媒介。Docker 是一种轻量级容器化平台,可以简化应用步调的部署、管理和扩展。与传统的假造机相比,Docker 具有更快的启动时间、更高的资源使用率、更强的可移植性、更容易部署和管理等优势。因此,将 EasyMR 的各个组件打包成 Docker 镜像举行私有化部署,可以显著提高运维部署的效率,降低问题出现的概率。
在适配国产化信创组件时,我们面临的重要问题是如何在 Docker 环境中构建适配这些组件的镜像。为了解决这个问题,我们引入了 Docker Buildx 工具。Docker Buildx 支持构建跨平台的 Docker 镜像,可以轻松适配不同的操作系统和处理器架构。
Docker Buildx 是一个强大的工具,它简化了在多种 CPU 架构上构建和发布 Docker 镜像的过程。本节将重点介绍如何基于 Linux 创建多架构 Docker 镜像,并展示打包镜像的方法以及如何在不同主机环境中设置 Docker Buildx。以 Ubuntu/Debian 的发行版本为例举行说明。
● Docker Buildx 如何编译多版本的服务
Docker Buildx 支持多架构构建,重要有两种方式:一是使用不同架构的原生 builder;二是通过 QEMU 处理器模拟器实现。本文将重点讨论 QEMU,因为这是一个纯粹的基于软件的解决方案,无需拥有运行在不同架构上的服务器即可运行。
QEMU 的工作原理是通过模仿在服务器/处理器上设置好的来自外部 CPU 类型的所有指令。例如,在 x86架构的呆板上,QEMU 可以模拟 ARM 架构的 CPU 指令。使用 QEMU 模拟器,可以在服务器上运行不同架构的二进制文件。
幸运的是,Linux 同样也有对运行非原生二进制文件的内建支持——binfmt_misc。当 Linux 实行实行一个二进制文件时,会检查 binfmt_misc 是否注册了该文件类型的 handler。如果已注册,这个 handler 将被调用实行该二进制文件。
在本案例中,我们将使用 binfmt_misc 模块,显式实行 QEMU 模拟的外部 CPU 架构的二进制文件。
● 使用 Docker Buildx 的软件需求
如果想使用 Docker Buildx 构建镜像,需要满足以下几个条件:
· Docker>=19.03: Docker 自己需要包含 Buildx 特性
· Experimental 模式要打开
· Linux 内核版本>=4.8: binfmt_misc 需要 Linux 内核支持F参数
· 挂载 binfmt_misc 文件系统
· 主机模式或者 Docker 镜像安装 QEMU 和 binfmt_misc 支持工具
如果使用的是 Docker Desktop(>=2.1.0版本),比如在 Mac OSX 或者 Windows 上,那么就无需其他设置,因为它已经满足了上面所有的需求。以下是针对在 Linux x86 架构呆板上,特别是以 Ubuntu 22.04 为例,安装和设置 Docker Buildx 运行环境的步骤。
Docker Buildx 安装步骤

01 安装 Docker
在19.03以后的 Docker 版本才支持 Buildx,以是部署的 Docker 版本至少得是这个版本,可以用下面的命令检查:
  1. root@localhost:~# docker --version
  2. Docker version 25.0.3, build 4debf41
复制代码
如果服务器上没有安装 Docker,那么可以试着用对应 Docker Linux 发行版安装。
  1. sudo apt-get install -y docker-ce
复制代码
02 开启 Docker Experimental 特性
可以通过两种方式开启 Experimental 特性
· 通过设置环境变量
  1. export DOCKER_CLI_EXPERIMENTAL=enabled
复制代码
· 通过在设置文件 $HOME/.docker/config.json 中打开特性开关
  1. {
  2.   "experimental": "enabled"
  3. }
复制代码
设置完成之后,可以使用 Docker Version 查看是否开启乐成。

之后可以检查一下 Docker Buildx 命令是否可用。

03 检查 Linux 内核版本
  1. root@localhost:~# uname -r
  2. 5.15.0-72-generic
复制代码
上面说过 Linux 内核版本至少需要大于等于4.8。
04 检查 binfmt_misc 文件系统是否挂载
  1. $ ls /proc/sys/fs/binfmt_misc/
  2. register status
复制代码
05 安装 QEMU
  1. sudo apt-get install -y qemu-user-static
复制代码
实行完成之后就安装好了支持多种架构的 QEMU,可以通过下面的命令实行检查 aarch64。
  1. ls -l /usr/bin/qemu-aarch64-static
  2. qemu-aarch64-static --version
复制代码
  1. sudo apt-get install -y binfmt-support
  2. update-binfmts --version
复制代码
确保 update-binfmts 版本大于等于2.1.7。
使用 Docker Buildx 构建镜像

● 创建 Buildx Builder
  1. docker buildx create --name mybuilder
  2. docker buildx use mybuilder
  3. docker buildx inspect --bootstrap
  4. docker buildx ls
复制代码
● 使用 Buildx 构建
  1. docker buildx build --platform linux/arm64 -f Dockerfile.arm --tag=easymanager/matrix:6.1.2-rel-rel . --load
复制代码
上述命令用于将 Docker 镜像打包,以便其能够在 Linux/arm64 架构的服务器上运行。如果有其他类型的架构,可以修改 --platform 参数,比如 linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64/v8, linux/386, linux/ppc64le, linux/s390x 等等。
总结

国产化信创是国家战略的关键组成部分,对于确保国家网络安全和信息安全具有重要意义。近年来,随着国家对信创财产的持续重视,这一领域已经取得了显著进展,信创组件日益丰富。
EasyMR 致力于深耕国产化信创领域,专注于将 EasyMR 打造成最适合国产化信创组件的大数据弹性计算引擎,助力企业构建安全、稳定、高效的大数据解决方案。
通过不断优化和升级,EasyMR 未来会不断加快国产化信创的适配进程,更好地满足国产化信创财产的需求,为国家网络安全和信息安全贡献气力。
《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057?src=szsm
《数栈产品白皮书》下载地址:https://www.dtstack.com/resources/1004?src=szsm
《数据管理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm
想了解或咨询更多有关大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表