MAPREDUCE服务 MRS-常用参数:Netty/NIO及Hash/Sort配置
Netty/NIO及Hash/Sort配置
Shuffle是大数据处理中最重要的一个性能点,网络是整个Shuffle过程的性能点。目前Spark支持两种Shuffle方式,一种是Hash,另外一种Sort。网络也有两种方式,Netty和NIO。
参数 |
描述 |
默认值 |
---|---|---|
spark.shuffle.manager |
处理数据的方式。有两种实现方式可用:sort和hash。sort shuffle对内存的使用率更高,是Spark 1.2及后续版本的默认选项。 |
SORT |
spark.shuffle.consolidateFiles |
(仅hash方式)若要合并在shuffle过程中创建的中间文件,需要将该值设置为“true”。文件创建的少可以提高文件系统处理性能,降低风险。使用ext4或者xfs文件系统时,建议设置为“true”。由于文件系统限制,在ext3上该设置可能会降低8核以上机器的处理性能。 |
false |
spark.shuffle.sort.bypassMergeThreshold |
该参数只适用于spark.shuffle.manager设置为sort时。在不做map端聚合并且reduce任务的partition数小于或等于该值时,避免对数据进行归并排序,防止系统处理不必要的排序引起性能下降。 |
200 |
spark.shuffle.io.maxRetries |
(仅Netty方式)如果设为非零值,由于IO相关的异常导致的fetch失败会自动重试。该重试逻辑有助于大型shuffle在发生长GC暂停或者网络闪断时保持稳定。 |
12 |
spark.shuffle.io.numConnectionsPerPeer |
(仅Netty方式)为了减少大型集群的连接创建,主机间的连接会被重新使用。对于拥有较多硬盘和少数主机的集群,此操作可能会导致并发性不足以占用所有磁盘,所以用户可以考虑增加此值。 |
1 |
spark.shuffle.io.preferDirectBufs |
(仅Netty方式)使用off-heap缓冲区减少shuffle和高速缓存块转移期间的垃圾回收。对于off-heap内存被严格限制的环境,用户可以将其关闭以强制所有来自Netty的申请使用堆内内存。 |
true |
spark.shuffle.io.retryWait |
(仅Netty方式)等待fetch重试期间的时间(秒)。重试引起的最大延迟为maxRetries * retryWait,默认是15秒。 |
5 |
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 大数据分析是什么_使用MapReduce_创建MRS服务
- 申请企业邮箱_企业邮箱产品介绍参数配置
- MRS备份恢复_MapReduce备份_数据备份
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce服务_什么是HDFS_HDFS特性
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是Hue_如何使用Hue