Deployment Instructions
Cluster Architecture Description
In a private deployment cluster mode, storage components and microservices are deployed separately, reducing system coupling. Microservices run on a Kubernetes architecture, allowing for rapid scaling up and down as needed to enhance resource utilization.
Click to view recommended server configurations for different cluster modes
The cluster modes are divided as follows:
- Lite Version: Conserves server resources, with storage components deployed on a single node.
- Standard Version: Storage components are deployed in official master-slave or clustered mode, providing basic HA capability.
- Professional Version: Based on the Standard Version, each server runs only one component instance, improving reliability and performance by avoiding interference and resource competition between components.
In the standard and professional deployment modes, the default component architecture is as follows:
- MySQL: Master-slave dual-node setup, where the slave node can continue to provide services in case of a master node failure.
- MongoDB: Three-node replica set with support for automatic failover to ensure data availability.
- Redis: Supports master-slave and sentinel modes to ensure HA of services.
- Kafka: Three-node cluster with multiple replicas for topics, achieving data redundancy and reliability.
- Elasticsearch: Three-node cluster with a multi-replica shard to enhance data redundancy and availability.
- MinIO: Based on a MinIO four-node cluster, with data replica redundancy storage to ensure reliability.
Deployment Process
Since HAP microservices rely on components such as MongoDB, MySQL, Redis, Kafka, Elasticsearch, and MinIO, these dependencies must be deployed first, followed by the deployment of HAP microservices.
Recommended deployment order:
- Deploy MongoDB, MySQL, Redis, Kafka, Elasticsearch, MinIO
- Deploy HAP File Service
- Deploy Kubernetes Cluster
- Deploy Istio
- Deploy HAP Microservices
- Deploy Flink
- Deploy Nginx Proxy
- Deploy Monitoring Services (Prometheus + Grafana)
Note:
-
It is recommended to uniformly use
/usr/localfor software installation directories,/datafor data directories, and mount the server data disk to/data. -
Ensure that the time zones of all nodes in the cluster are consistent, and synchronize time with the same NTP server.
-
Some passwords in the example documentation are weak (e.g.,
123456). For actual deployment, you must replace them with strong passwords.-
Passwords should include uppercase and lowercase letters and numbers with a minimum length of 8 characters.
-
If special characters are used, only
-or_are allowed. Avoid using@ ! # &to prevent compatibility issues.
-
Deployment Instructions
Cluster Architecture Description
In a privatized deployment cluster mode, storage components and microservices are deployed separately, reducing system coupling; microservices run based on the Kubernetes architecture, allowing for quick scaling up or down as needed, thus improving resource utilization.
Click to view the recommended server configuration for different cluster modes
Cluster modes are divided into the following types:
- Lite Version: Saves server resources, and storage components are deployed on a single node.
- Standard Version: Storage components are deployed using the official master-slave or cluster mode, offering basic HA capabilities.
- Professional Version: Based on the Standard Version, each server runs only one component instance to enhance reliability and performance, avoiding interference and resource competition between components.
In the Standard and Professional deployment modes, the component architecture is by default as follows:
- MySQL: Master-slave dual nodes, where the slave node can continue to provide services if the master node fails.
- MongoDB: Three-node replica set supporting automatic failover to ensure data availability.
- Redis: Supports both master-slave and sentinel modes to ensure service HA.
- Kafka: Three-node cluster with multiple replicas per topic for data redundancy and reliability.
- Elasticsearch: Three-node cluster, with multiple replica shards to enhance data redundancy and availability.
- File: Based on a four-node MinIO cluster with redundant data storage to ensure reliability.
Deployment Process
Since HAP microservices rely on components such as MongoDB, MySQL, Redis, Kafka, Elasticsearch, and MinIO, these dependencies need to be deployed first, followed by the HAP microservices.
Recommended deployment order:
- Deploy MongoDB, MySQL, Redis, Kafka, Elasticsearch, MinIO
- Deploy HAP File Service
- Deploy Kubernetes Cluster
- Deploy Istio
- Deploy HAP Microservices
- Deploy Flink
- Deploy Nginx Proxy
- Deploy Monitoring Services (Prometheus + Grafana)
Note:
-
It is recommended to unify software installation directories to
/usr/local, use/datafor data directories, and mount the server data disk to/data. -
All cluster nodes should maintain consistent time zones and synchronize time with the same NTP server.
-
Some passwords in the example documentation are weak (e.g.,
123456), and must be changed to strong passwords for actual deployment.-
Passwords should contain uppercase and lowercase letters and numbers, with a minimum length of 8 characters.
-
If special characters are to be used, only
-or_are allowed. Characters like@ ! # &are prohibited to avoid compatibility issues.
-
ARM Environment Deployment Instructions
The HAP private deployment version supports various Linux distributions and mainstream CPU architectures.
- This document provides deployment examples for the x86_64/AMD64 architecture.
- If deploying on ARM64/AARCH64 architecture servers, the deployment steps are generally the same.
- Note that software packages may differ between architectures, so ensure to use packages matching your architecture.
Note: Nocoly is not supported on ARM64/AARCH64 architecture servers.
Download Links for x86_64/AMD64 Software Packages
| Package Name | Download Link |
|---|---|
| Docker | https://pdpublic.mingdao.com/private-deployment/offline/common/docker-27.3.1.tgz |
| Nginx | https://pdpublic.mingdao.com/private-deployment/offline/common/nginx-1.28.0-glibc2.17-amd64.tar.gz |
| MySQL | https://pdpublic.mingdao.com/private-deployment/offline/common/mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz |
| MongoDB | https://www.mongodb.com/try/download/community-edition/releases/archive |
| Mongo Tools | https://www.mongodb.com/try/download/database-tools |
| Redis | https://pdpublic.mingdao.com/private-deployment/offline/common/redis-8.0.3-glibc2.17-amd64.tar.gz |
| JDK | https://pdpublic.mingdao.com/private-deployment/offline/common/OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz |
| Kafka | https://pdpublic.mingdao.com/private-deployment/offline/common/kafka_2.13-3.9.1.tgz |
| Elasticsearch | https://pdpublic.mingdao.com/private-deployment/offline/common/elasticsearch-8.18.1-linux-x86_64.tar.gz |
| Elasticsearch-ik | https://pdpublic.mingdao.com/private-deployment/offline/common/elasticsearch-analysis-ik-8.18.1.zip |
| CNI Plugin | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/cni-plugins-linux-amd64-v1.1.1.tgz |
| Crictl | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/crictl-v1.25.0-linux-amd64.tar.gz |
| Nerdctl | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/nerdctl-1.7.0-linux-amd64.tar.gz |
| Kubeadm | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/kubeadm |
| Kubelet | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/kubelet |
| Kubectl | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/kubectl |
| K8S Component Images | https://pdpublic.mingdao.com/private-deployment/offline/common/kubernetes-1.25.4/kubeadm-1.25.4-images.tar.gz |
| CentOS Image | https://pdpublic.mingdao.com/private-deployment/offline/common/centos7.9.2009.tar.gz |
| Istio | https://pdpublic.mingdao.com/private-deployment/offline/common/istio-1.18.0-linux-amd64.tar.gz |
| Istio Service Images | https://pdpublic.mingdao.com/private-deployment/offline/common/istio-1.18.0-images.tar.gz |
| Prometheus | https://pdpublic.mingdao.com/private-deployment/offline/common/prometheus-3.5.0.linux-amd64.tar.gz |
| Grafana | https://pdpublic.mingdao.com/private-deployment/offline/common/grafana_12.1.2_17957162798_linux_amd64.tar.gz |
| Node Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/node_exporter-1.9.1.linux-amd64.tar.gz |
| Cadvisor | https://pdpublic.mingdao.com/private-deployment/offline/common/cadvisor-v0.52.1-linux-amd64 |
| Kafka Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/kafka_exporter-1.9.0.linux-amd64.tar.gz |
| K8S Metrics Images | https://pdpublic.mingdao.com/private-deployment/offline/common/kube-state-metrics.tar.gz |
| MinIO | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-minio-linux-amd64-RELEASE.2025-04-22T22-12-26Z.tar.gz |
| File Init Files | https://pdpublic.mingdao.com/private-deployment/source/6.3.0/file_init.tar.gz |
| mingdaoyun-community | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-community-linux-amd64-6.5.4.tar.gz |
| mingdaoyun-file | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-file-linux-amd64-2.1.0.tar.gz |
| mingdaoyun-flink | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-flink-linux-amd64-1.17.1.530.tar.gz |
| mingdaoyun-doc | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-doc-linux-amd64-2.0.0.tar.gz |
| mingdaoyun-command | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-command-linux-amd64-node1018-python36.tar.gz |
Download Links for ARM64/AARCH64 Software Packages
| Package Name | Download Link |
|---|---|
| Docker | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/docker-27.3.1.tgz |
| Nginx | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/nginx-arm64-1.28.0.tar.gz |
| MySQL | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mysql-8.0.43-linux-glibc2.28-aarch64.tar.xz |
| MongoDB | https://www.mongodb.com/try/download/community-edition/releases/archive |
| Mongo Tools | https://www.mongodb.com/try/download/database-tools |
| Redis | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/redis-8.0.3.tar.gz |
| JDK | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.8_9.tar.gz |
| Kafka | https://pdpublic.mingdao.com/private-deployment/offline/common/kafka_2.13-3.9.1.tgz |
| Elasticsearch | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/elasticsearch-8.18.1-linux-aarch64.tar.gz |
| Elasticsearch-ik | https://pdpublic.mingdao.com/private-deployment/offline/common/elasticsearch-analysis-ik-8.18.1.zip |
| CNI Plugin | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cni-plugins-linux-arm64-v1.1.1.tgz |
| Crictl | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/crictl-v1.25.0-linux-arm64.tar.gz |
| Nerdctl | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/nerdctl-1.7.0-linux-arm64.tar.gz |
| Kubeadm | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm |
| Kubelet | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubelet |
| Kubectl | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubectl |
| K8S Component Images | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm-1.25.4-images-arm64.tar.gz |
| CentOS Image | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/centos7.9.2009-arm64.tar.gz |
| Istio | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-linux-arm64.tar.gz |
| Istio Service Images | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-images-arm64.tar.gz |
| Prometheus | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/prometheus-3.5.0.linux-arm64.tar.gz |
| Grafana | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/grafana_12.1.2_17957162798_linux_arm64.tar.gz |
| Node Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/node_exporter-1.9.1.linux-arm64.tar.gz |
| Cadvisor | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cadvisor-v0.52.1-linux-arm64 |
| Kafka Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kafka_exporter-1.9.0.linux-arm64.tar.gz |
| K8S Metrics Images | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kube-state-metrics-arm-2.8.1.tar |
| MinIO | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-minio-linux-arm64-RELEASE.2025-04-22T22-12-26Z.tar.gz |
| File Init Files | https://pdpublic.mingdao.com/private-deployment/source/6.3.0/file_init.tar.gz |
| mingdaoyun-community | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-community-linux-arm64-6.5.4.tar.gz |
| mingdaoyun-file | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-file-linux-arm64-2.1.0.tar.gz |
| mingdaoyun-flink | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-flink-linux-arm64-1.17.1.530.tar.gz |
| mingdaoyun-doc | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-doc-linux-arm64-2.0.0.tar.gz |
| mingdaoyun-command | https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-command-linux-arm64-node1018-python36.tar.gz |