文档首页/
MapReduce服务 MRS/
组件操作指南(LTS版)/
使用CarbonData/
CarbonData故障排除/
为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?
更新时间:2024-07-02 GMT+08:00
为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?
问题
为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?
回答
CarbonData块分布对于数据处理进行了如下优化:
- 优化数据处理并行度。
- 优化了读取块数据的并行性。
为了优化并行数据处理及并行读取块数据,CarbonData根据块的局域性申请executor,因此CarbonData可获得所有节点上的executor。
为了优化并行数据处理及并行读取块数据,运用动态分配的用户需配置以下特性。
- 使用参数“spark.dynamicAllocation.executorIdleTimeout”并将此参数值设置为15min(或平均查询时间)。
- 正确配置参数“spark.dynamicAllocation.maxExecutors”,不推荐使用默认值(2048),否则CarbonData将申请最大数量的executor。
- 对于更大的集群,配置参数“carbon.dynamicAllocation.schedulerTimeout”为10~15sec,默认值为5sec。
- 配置参数“carbon.scheduler.minRegisteredResourcesRatio”为0.1~1.0,默认值为0.8。只要达到此参数值,块分布可启动。
父主题: CarbonData故障排除