Domestic information innovation means using domestic information technology products and services to build an independent and controllable information technology system. In recent years, as the country attaches increasing importance to network security and information security, localized information innovation has become an important part of the national strategy and shows the following general trends:
● Policy-driven, accelerated development
国家出台了一系列政策法规,大力支持国产化信创产业发展。例如,《“十四五”数字经济发展规划》提出,到2025年,关键信息技术领域核心技术攻关取得突破性进展,关键软件、硬件产品和服务实现替代能力显著增强。《“十四五”国家信息化规划》提出,加快构建安全可控的数字基础设施,推进关键信息技术领域自主研发应用。
With the strong promotion of policies, the localized information innovation industry has developed rapidly and the market scale has continued to expand. According to statistics, the market size of China's information and innovation industry will exceed 1 trillion yuan in 2023, and is expected to reach more than 2 trillion yuan by 2025.
● Technological breakthroughs and ecological construction
The core of the localized information innovation industry is technological research and ecological construction. In recent years, domestic basic software products such as operating systems, databases, and middleware have made significant progress. Their performance and stability have been continuously improved, and the gap with foreign products has gradually narrowed. At the same time, the domestic information innovation ecosystem is gradually improving, and supporting products and services such as application software and security products are constantly enriched and innovated.
● Application expansion and diverse scenarios
The application scenarios of localized Xinchuang continue to expand, extending from key areas such as party and government agencies, finance, and telecommunications to more industries such as education, medical care, and transportation. For example, in the field of education, Beijing, Shanghai and other places have launched pilot projects for information innovation in universities; in the medical field, many hospitals have deployed localized information innovation systems.
● Safe and controllable, independent and controllable
The fundamental goal of localized information innovation is to achieve independent controllability and security controllability of information technology. By using domestic information technology products and services , information security risks can be effectively reduced and the national information security level improved.
Generally speaking, localized information innovation is an inevitable trend of the development of the times and has broad market prospects. In the future, with the continuous advancement of technology and the continuous expansion of application scenarios, localized information innovation will usher in a new stage of faster development.
EasyMR is based on the support of localized Xinchuang adaptation
EasyMR is an elastic computing engine built by Kangaroo Cloud based on cloud native technology and open source big data components such as Hadoop, Hive, Spark, Flink, Hbase, and Presto . Provide safe, reliable, low-cost, elastically scalable big data storage and computing services , and realize one-stop creation, management, deployment, operation and maintenance and monitoring of Hadoop clusters.
The core components of EasyMR adopt domestic self-development methods and have been successfully adapted to a variety of domestic operating systems and processors, including:
· Galaxy Kirin V10 (Intel X86, Kunpeng 920, Feiteng 2000)
· Galaxy Kirin V4 (Intel X86, Feiteng 2000)
· Winning the bid for Kirin V7.6 (Intel X86)
· Tongxin UOS V20 (Intel X86, Kunpeng 920)
· Dragon Lizard 8.4 (Intel X86)
In terms of localized Xinchuang database, EasyMR has been adapted to the Dameng 8 database, and has made an abstract interface for the addition, deletion, modification and query operations of the database layer. This design makes it very easy to adapt to other domestic Xinchuang databases in the future.
Next, we will introduce in detail how EasyMR components adapt to domestic operating systems and processors from the perspective of technical implementation .
About Docker Buildx
在 EasyMR 的私有化部署过程中,我们选择了 Docker 作为部署媒介。Docker 是一种轻量级容器化平台,可以简化应用程序的部署、管理和扩展。与传统的虚拟机相比,Docker 具有更快的启动时间、更高的资源利用率、更强的可移植性、更容易部署和管理等优势。因此,将 EasyMR 的各个组件打包成 Docker 镜像进行私有化部署,可以显著提高运维部署的效率,降低问题出现的概率。
When adapting localized Xinchuang components, the main problem we face is how to build images that adapt to these components in the Docker environment. To solve this problem, we introduced the Docker Buildx tool . Docker Buildx supports building cross-platform Docker images and can easily adapt to different operating systems and processor architectures.
Docker Buildx is a powerful tool that simplifies the process of building and publishing Docker images on multiple CPU architectures. This section will focus on how to create multi-architecture Docker images based on Linux, and show how to package images and how to configure Docker Buildx in different host environments. Take the Ubuntu/Debian distribution version as an example for explanation.
● How Docker Buildx compiles multi-version services
Docker Buildx supports multi-architecture construction in two main ways: one is to use native builders of different architectures; the other is to implement it through the QEMU processor simulator. This article will focus on QEMU as it is a purely software-based solution that does not require owning servers running on different architectures to run.
QEMU works by emulating all instructions from the external CPU type that are set up on the server/processor. For example, on x86 architecture machines, QEMU can simulate ARM architecture CPU instructions. Using the QEMU emulator, binaries of different architectures can be run on the server.
Fortunately, Linux also has built-in support for running non-native binaries - binfmt_misc. When Linux attempts to execute a binary file, it checks whether binfmt_misc has a handler registered for the file type. If registered, this handler will be called to execute the binary.
In this case, we will use the binfmt_misc module to explicitly execute the QEMU emulated binary of an external CPU architecture.
● Software requirements for using Docker Buildx
If you want to use Docker Buildx to build an image, you need to meet the following conditions:
· Docker>=19.03: Docker itself needs to include the Buildx feature
· Experimental mode is to be turned on
· Linux kernel version >=4.8: binfmt_misc requires the Linux kernel to support the F parameter
· Mount binfmt_misc file system
· Install QEMU and binfmt_misc support tools in host mode or Docker image
If you are using Docker Desktop (>= version 2.1.0), such as on Mac OSX or Windows, then no other configuration is needed because it already meets all the above requirements. The following are the steps for installing and configuring the Docker Buildx operating environment on a Linux x86 architecture machine, especially taking Ubuntu 22.04 as an example .
Docker Buildx installation steps
01 Install Docker
Only Docker versions after 19.03 support Buildx, so the deployed Docker version must be at least this version. You can check it with the following command:
root@localhost:~# docker --version
Docker version 25.0.3, build 4debf41
If Docker is not installed on the server, you can try to install it with the corresponding Docker Linux distribution.
sudo apt-get install -y docker-ce
02 Enable Docker Experimental features
Experimental features can be turned on in two ways :
· By setting environment variables
export DOCKER_CLI_EXPERIMENTAL=enabled
· By turning on the feature switch in the configuration file $HOME/.docker/config.json
{
"experimental": "enabled"
}
After the configuration is completed, you can use Docker Version to check whether it is opened successfully.
You can then check whether the Docker Buildx command is available.
03 Check Linux kernel version
root@localhost:~# uname -r
5.15.0-72-generic
As mentioned above, the Linux kernel version needs to be at least greater than or equal to 4.8.
04 Check whether the binfmt_misc file system is mounted
$ ls /proc/sys/fs/binfmt_misc/
register status
05 Install QEMU
sudo apt-get install -y qemu-user-static
After the execution is completed, QEMU that supports multiple architectures will be installed. You can run the following command to check aarch64.
ls -l /usr/bin/qemu-aarch64-static
qemu-aarch64-static --version
sudo apt-get install -y binfmt-support
update-binfmts --version
Make sure the update-binfmts version is greater than or equal to 2.1.7.
Build images using Docker Buildx
● Create Buildx Builder
docker buildx create --name mybuilder
docker buildx use mybuilder
docker buildx inspect --bootstrap
docker buildx ls
● Build using Buildx
docker buildx build --platform linux/arm64 -f Dockerfile.arm --tag=easymanager/matrix:6.1.2-rel-rel . --load
The above command is used to package the Docker image so that it can run on a Linux/arm64 architecture server. If there are other types of architectures, you can modify the --platform parameter, such as linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64/v8, linux/386, linux/ppc64le, linux/s390x, etc. .
Summarize
国产化信创是国家战略的关键组成部分,对于确保国家网络安全和信息安全具有重要意义。近年来,随着国家对信创产业的持续重视,这一领域已经取得了显著进展,信创组件日益丰富。
EasyMR is committed to deeply exploring the field of localized information innovation, focusing on building EasyMR into a big data elastic computing engine that is most suitable for localized information innovation components , helping enterprises build safe, stable, and efficient big data solutions.
Through continuous optimization and upgrading, EasyMR will continue to accelerate the adaptation process of localized information innovation in the future, better meet the needs of the localized information innovation industry, and contribute to national network security and information security.
"Industry Indicator System White Paper" download address: https://www.dtstack.com/resources/1057?src=szsm
"Dutstack Product White Paper" download address: https://www.dtstack.com/resources/1004?src=szsm
"Data Governance Industry Practice White Paper" download address: https://www.dtstack.com/resources/1001?src=szsm
For those who want to know or consult more about big data products, industry solutions, and customer cases, visit the Kangaroo Cloud official website: https://www.dtstack.com/?src=szkyzg
The pirated resources of "Qing Yu Nian 2" were uploaded to npm, causing npmmirror to have to suspend the unpkg service. Zhou Hongyi: There is not much time left for Google. I suggest that all products be open source. Please tell me, time.sleep(6) here plays a role. What does it do? Linus is the most active in "eating dog food"! The new iPad Pro uses 12GB of memory chips, but claims to have 8GB of memory. People’s Daily Online reviews office software’s matryoshka-style charging: Only by actively solving the “set” can we have a future. Flutter 3.22 and Dart 3.4 release a new development paradigm for Vue3, without the need for `ref/reactive `, no need for `ref.value` MySQL 8.4 LTS Chinese manual released: Help you master the new realm of database management Tongyi Qianwen GPT-4 level main model price reduced by 97%, 1 yuan and 2 million tokens