在使用 YMP 进行数据库迁移时,有用户在执行元数据阶段的索引创建操作时遭遇如下报错:
YAS-04204 number of PARALLEL must be between 1 and 4
这个错误通常出现在资源配置较小的环境中。别急,这其实和数据库创建索引时允许的并发度有关。
一、问题背景
用户在一台 2 核 CPU、8GB 内存的最小配置机器上部署了 YashanDB 和 YMP,在执行元数据迁移第二阶段——也就是创建索引这一步骤时,迁移任务中断,系统提示并发度设置超限。
二、问题原因
YashanDB 在执行索引创建时,系统会根据实际 CPU 核数限制最大并发度。这个限制是 CPU 核心数乘以 2。
也就是说,2 核的环境下,并发创建索引的最大值为 4。
而 YMP 的配置文件中默认将 migration.parallel.index 设置成了 5,这个值超过了数据库允许的上限,因此执行时就会触发 YAS-04204 报错。
三、解决方法
要解决这个问题,其实很简单:
1.打开 YMP 的配置文件;
2.找到 migration.parallel.index 这个参数;
3.将其数值改为 4 或更低;
4.保存配置,重启 YMP;
5.在 YMP 控制台选择“失败项重试”,即可继续任务。
修改后,YMP 就不会再尝试以超出数据库限制的并发度去建索引,迁移流程也能顺利走通。
四、适用版本
此问题主要出现在以下版本组合中:
YMP:23.2.1.100
YashanDB:23.2.1.1000
尤其是在资源较小的测试环境或试用场景下更易出现。
五、经验建议
在执行 YashanDB 迁移时,尤其是自动化工具(如 YMP)进行并发建表建索引时,一定要注意目标机器的 CPU 核心数是否足够。如果机器配置较低,建议适当下调 YMP 的并发参数,避免类似错误反复出现。
对于标准生产环境,推荐使用至少 4 核及以上配置,以保障迁移效率和稳定性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。