Install
openclaw skills install @huaweicloudskill/huawei-cloud-mrs-migration-plannerHuawei Cloud MRS migration planning. CDH/EMR migration to MRS, component investigation, cluster type and node spec matching, outputs report and Excel. Investigates existing cluster component usage and resource scale, matches MRS cluster type and node flavors, outputs migration planning report with minimum resource surplus. Applicable to MRS cluster planning, node spec selection, big data cluster migration, CDH/EMR migration, and resource planning scenarios. Trigger words: "MRS planning", "MRS sizing", "MRS cluster planning", "MRS node spec", "CDH migration to MRS", "EMR migration to MRS", "MRS resource planning", "Huawei Cloud MRS", "MapReduce Service", "big data cluster migration", "MRS spec recommendation", "migrate to MRS", "MRS规划", "MRS选型", "MRS集群规划", "MRS节点规格", "CDH迁移MRS", "EMR迁移MRS", "MRS资源规划", "华为云MRS", "大数据集群迁移", "MRS规格推荐", "迁移MRS"
openclaw skills install @huaweicloudskill/huawei-cloud-mrs-migration-plannerChinese triggers: "MRS规划", "MRS选型", "MRS集群规划", "MRS节点规格", "CDH迁移MRS", "EMR迁移MRS", "MRS资源规划", "华为云MRS", "MapReduce Service", "大数据集群迁移", "MRS规格推荐", "迁移MRS"
English triggers: "MRS planning", "MRS sizing", "MRS cluster planning", "MRS node spec", "CDH migration to MRS", "EMR migration to MRS", "MRS resource planning", "Huawei Cloud MRS", "MapReduce Service", "big data cluster migration", "MRS spec recommendation", "migrate to MRS"
For scenarios migrating big data clusters such as CDH / Tencent EMR / Alibaba EMR to Huawei Cloud MRS, this skill investigates existing cluster component usage and resource scale, matches MRS cluster type and node flavors, and outputs a migration planning report with minimum resource surplus. Functional boundary: component investigation -> cluster type matching -> node spec planning -> storage & disk planning -> report output -> Excel generation.
pip install openpyxl) — for generating multi-sheet Excel report| Phase | Content | Output |
|---|---|---|
| Phase 1 | Component investigation: collect existing big data component usage, workload characteristics, Master sizing info | Component list + workload profile |
| Phase 2 | Cluster type matching: select cluster type based on components, MRS version, dependency resolution | Cluster type + component dependencies |
| Phase 3 | Node spec planning: Master sizing (industry NameNode heap standards), Core/Task single-plan selection (minimum surplus) | Single-plan flavor + data disk config |
| Phase 4 | Storage & disk planning: system disk, data disk, OBS capacity calculation | Disk config + OBS plan |
| Phase 5 | Report output: structured Markdown report with flavor recommendation, resource comparison, decision rationale | Markdown report |
| Phase 6 | Excel report generation: 4-sheet multi-dimensional report (single plan) | MRS_Cluster_Sizing_Report.xlsx |
Collect existing big data component usage, workload characteristics, and Master sizing information. There are 18 key decision questions, including data volume, daily incremental data, data retention period, storage mode, elastic Task nodes, off-peak daily load (asked only when elastic Task is enabled; used to size Core nodes), elastic Task runtime hours, peak buffer confirmation, Master sizing info (HDFS total file count, HBase deployment, YARN concurrent container count), and migration scenario Master node utilization check (Q14, triggered only in migration scenarios, verifies whether the MRS planned Master spec is sufficient).
When elastic Task nodes are enabled, the off-peak (non-peak) daily load MUST be explicitly asked of the user, and Core nodes are sized from this daily load. Peak demand is covered by elastic Task nodes.
Full data volume = existing data + daily incremental data × retention period. All sizing (cores/memory/storage) is calculated on this full data volume, not on the incremental portion alone.
Component mapping table and cluster type matching rules: references/component-mapping.md
Select cluster type (Analysis/Streaming/Hybrid/Custom) and MRS version based on component usage. Default recommendation: MRS 3.3.0-LTS.
Detailed cluster type selection logic: references/component-mapping.md
Master 7-step algorithm: references/master-sizing-algorithm.md Core/Task single-plan algorithm: references/core-task-single-plan-algorithm.md ECS flavor catalog and series selection matrix: references/ecs-flavor-catalog.md
System disk 480GB High IO, Master data disk 1×600GB General SSD, Core/Task data disk calculated by formula. OBS storage-compute separation: OBS capacity = actual required storage (single-replica); total shuffle = per-node disk total × node count.
Full disk config and OBS capacity calculation: references/storage-disk-planning.md
Generate structured Markdown report with 5 sections: component investigation summary, cluster configuration, node specs and recommendation rationale, original cluster vs MRS resource comparison, recommendation decision summary.
Report template: references/excel-report-template.md
Agent writes Phase 1-4 investigation results (source cluster info, single plan, recommendation reason, OBS storage, decisions) to report.json, then generates 4-sheet Excel report: cluster spec recommendation, resource comparison, selection decision rationale, OBS storage spec.
For migration scenarios, source_cluster MUST also carry the Q14 inputs (node_count, master_node_count, master_node_memory_gb, master_node_vcpu, master_mem_utilization_pct, master_cpu_utilization_pct) so the script can render the Sheet 1 "Q14 Check (Master utilization)" column objectively instead of relying on prose in the decisions table.
Full sheet column definitions: references/excel-report-template.md Python script implementation: scripts/generate_mrs_report.py
source_cluster Q14 inputs) — not only as prose inside the decisions tableAgent writes Phase 1-4 investigation results to report.json, then generates Excel:
python scripts/generate_mrs_report.py --input report.json
If no --input provided, runs built-in demo data (1480 cores CDH migration):
python scripts/generate_mrs_report.py
Optional --output to specify output path:
python scripts/generate_mrs_report.py --input report.json --output MRS_Report.xlsx
File naming: MRS_Cluster_Sizing_Report_<YYYYMMDD>.xlsx
The following parameters must be confirmed with the user before entering spec selection:
| Parameter | Required/Optional | Description | Default |
|---|---|---|---|
| Data volume | Required | Existing data volume (GB/TB); basis for storage and Master sizing | N/A |
| Daily incremental data | Required | Daily incremental data volume (GB/day); full data volume = existing data + daily incremental × retention period | N/A |
| Data retention period | Required | Data retention period (days); full data volume = existing data + daily incremental × retention days | N/A |
| Storage mode | Required | HDFS / OBS storage-compute separation / Mixed | N/A |
| Elastic Task nodes | Required | Whether elastic Task nodes are needed; peak/off-peak scaling | No |
| Off-peak daily load | Conditional | Non-peak daily workload level (% of original cluster resources); used to size Core nodes; peak demand is covered by elastic Task nodes; only asked when elastic Task enabled | N/A |
| Task runtime hours | Conditional | Elastic Task node daily runtime hours for on-demand billing cost estimation; only asked when elastic Task enabled | 8h/day |
| Peak buffer confirmation | Conditional | Only when user confirms "peak resources continuously saturated (>90%)" add 20% buffer | No buffer |
| HDFS total file count | Required | For NameNode heap calculation (Master sizing) | N/A |
| HBase deployment | Required | Whether HBase is deployed; affects Master flavor selection | No |
| YARN concurrent container count | Required | For ResourceManager heap estimation | N/A |
| Migration scenario Master utilization (Q14) | Conditional | Migration scenarios must ask current Master node CPU/memory utilization to verify MRS planned Master spec sufficiency | N/A |
| Document | Description |
|---|---|
| Component Mapping | Component mapping table and cluster type matching rules |
| ECS Flavor Catalog | ECS flavor catalog and series selection matrix |
| Master Sizing Algorithm | Master 7-step sizing algorithm |
| Single Plan Algorithm | Core/Task single-plan selection algorithm |
| Storage Disk Planning | Storage and disk planning |
| Sizing Scenarios | Common spec selection scenarios |
| Excel Report Template | Excel report template and data structure |
| IAM Policies | IAM permission requirements (no API permissions needed for this planning skill) |
| Verification Methods | Output verification and validation methods |
scripts/
└── generate_mrs_report.py # Excel report generation (4 sheets, single plan)
references/
├── component-mapping.md # Component mapping table and cluster type matching rules
├── core-task-single-plan-algorithm.md # Core/Task single-plan selection algorithm
├── ecs-flavor-catalog.md # ECS flavor catalog and series selection matrix
├── excel-report-template.md # Excel report template and data structure
├── iam-policies.md # IAM permission requirements (no API permissions needed)
├── master-sizing-algorithm.md # Master 7-step sizing algorithm
├── sizing-scenarios.md # Common spec selection scenarios
├── storage-disk-planning.md # Storage and disk planning
└── verification-method.md # Output verification and validation methods
python scripts/generate_mrs_report.py to generate Excel report; confirm 4 sheets output (cluster spec recommendation / resource comparison / selection decision rationale / OBS storage spec)report.json carries the Q14 inputs (master_node_count, master_node_memory_gb, master_node_vcpu, master_mem_utilization_pct, master_cpu_utilization_pct) in migration scenarios; column O renders "-" when they are absent