文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用CarbonData/ CarbonData故障排除/ 为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?
更新时间:2024-07-02 GMT+08:00
分享

为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?

问题

为什么并行度大于待处理的block数目时,CarbonData仍需要额外的executor?

回答

CarbonData块分布对于数据处理进行了如下优化:

  1. 优化数据处理并行度。
  2. 优化了读取块数据的并行性。

为了优化并行数据处理及并行读取块数据,CarbonData根据块的局域性申请executor,因此CarbonData可获得所有节点上的executor。

为了优化并行数据处理及并行读取块数据,运用动态分配的用户需配置以下特性。

  1. 使用参数“spark.dynamicAllocation.executorIdleTimeout”并将此参数值设置为15min(或平均查询时间)。
  2. 正确配置参数“spark.dynamicAllocation.maxExecutors”,不推荐使用默认值(2048),否则CarbonData将申请最大数量的executor。
  3. 对于更大的集群,配置参数“carbon.dynamicAllocation.schedulerTimeout”为10~15sec,默认值为5sec。
  4. 配置参数“carbon.scheduler.minRegisteredResourcesRatio”为0.1~1.0,默认值为0.8。只要达到此参数值,块分布可启动。

相关文档