spark参数num-executors未生效

问题: spark-submit --master yarn --conf spark.default.parallelism=100 \ --deploy-mode cluster --driver-memory 4G --executor-memory 4G \ --num-executors 40 --executor-cores 2 \ --conf spark.yarn.executor.memoryOverhead=5g \ --class com.lz.hbase.CompanyInfo /tmp/test_langzi/original-spark_hbase01-1.0-SNAPSHOT.jar 以上提交参数中的–num-executors 40没有生效,executors 大于40并且占满yarn资源,导致后来的yarn任务阻塞 原因: 官方参数解释 –num-executors NUM Number of executors to launch (Default: 2). If dynamic allocation is enabled, the initial number of executors will be at least NUM. 当开启动态分配时,num-executors成为了最小executors 数,而cdh中spark默认开启dynamic allocation,所以当yarn队列资源空闲时,真正的excutor数会大于设置的num-executors 解决方案: 提交参数添加--conf spark.dynamicAllocation.maxExecutors=40 限制最大excutor数 附:spark提交任务模板 spark-submit --master yarn --conf spark.default.parallelism=100 \ --conf spark.dynamicAllocation.maxExecutors=40\ --deploy-mode cluster --driver-memory 4G --executor-memory 4G \ --num-executors 40 --executor-cores 3 \ --conf spark.yarn.executor.memoryOverhead=4G \ --class com.lz.hbase.CompanyInfo /tmp/test_langzi/original-spark_hbase01-1.0-SNAPSHOT.jar

2024年11月23日 · 1 分钟

hiveOnSpak客户端RemoteSparkDriver超时

1.现象 2.原因 集群资源使用率过高时可能会导致Hive On Spark查询失败-查询超时。 从hive on spark的架构看出超时的位置: 3.解决 修改以下参数,重启集群 ### 其他可设置的参考参数 # 在Hive client和远程Spark driver通信过程中,随机生成密码的比特数。最好设置成8的倍数。 hive.spark.client.secret.bits # 远程Spark drive用于处理RPC事件所用的最大线程数,默认是8。 hive.spark.client.rpc.threads # Hive client和远程Spark driver通信最大的消息大小(单位:byte),默认是50MB。 hive.spark.client.rpc.max.size # 远程Spark driver的通道日志级别,必须是DEBUG, ERROR, INFO, TRACE, WARN中的一个。 hive.spark.client.channel.log.level # 用于身份验证的SASL机制的名称。 hive.spark.client.rpc.sasl.mechanisms #生产集群设置的相应参数: hive.spark.client.future.timeout=360s # Hive client请求Spark driver的超时时间,如果没有指定时间单位,默认就是秒。 hive.metastore.client.socket.timeout=360s # 客户端socket超时时间,默认20秒。 hive.spark.client.connect.timeout=360000ms # Spark driver连接Hive client的超时时间,如果没有指定时间单位,默认就是毫秒。 hive.spark.client.server.connect.timeout=360000ms # Hive client和远程Spark driver握手时的超时时间,这个会在两边都检查的,如果没有指定时间单位,默认就是毫秒。 hive.spark.job.monitor.timeout=180s # Job监控获取Spark作业状态的超时时间,如果没有指定时间单位,默认就是秒。

2024年10月12日 · 1 分钟

spark提交参数

spark-submit --master yarn --conf spark.default.parallelism=100 \ --deploy-mode cluster --driver-memory 4G --executor-memory 4G \ --num-executors 40 --executor-cores 3 \ --conf spark.yarn.executor.memoryOverhead=5g \ --class com.lz.hbase.CompanyInfo /tmp/test_langzi/original-spark_hbase01-1.0-SNAPSHOT.jar \ --conf spark.dynamicAllocation.maxExecutors=40

2023年4月30日 · 1 分钟

Spark Thrift Server

文章目录 一、Spark Thrift Server 介绍 二、部署 Spark Thrift Server 三、Spark Thrift Server 的架构 四、Spark Thrift Server 如何执行 SQL 五、和 HiveServer2 的区别 Spark Thrift Server 的优点 Spark Thrift Server 的缺点 六、结论 一、Spark Thrift Server 介绍 Spark Thrift Server 是 Spark 社区基于 HiveServer2 实现的一个 Thrift 服务。旨在无缝兼容 HiveServer2。 因为 Spark Thrift Server 的接口和协议都和 HiveServer2 完全一致,因此我们部署好 Spark Thrift Server 后,可以直接使用 hive 的 beeline 访问 Spark Thrift Server 执行相关语句。 Spark Thrift Server 的目的也只是取代 HiveServer2,因此它依旧可以和 Hive Metastore 进行交互,获取到 hive 的元数据。 ...

2023年4月16日 · 2 分钟

hive设置spark参数

set spark.master=yarn-cluster; #设置spark提交模式 set hive.execution.engine=spark; #设置计算引擎 set spark.yarn.queue=queue_name; #设置作业提交队列 set spark.app.name=job_name; #设置作业名称 set spark.executor.instances=20; #设置执行器个数 set spark.executor.cores=4; #设置执行器计算核个数 set spark.executor.memory=8g; #设置执行器内存 set mapred.reduce.tasks=600; #设置任务并行度 set spark.yarn.executor.memoryOverhead=2048; #设置每个executor的jvm堆外内存 set spark.memory.fraction=0.8; #设置内存比例(spark2.0+) set spark.serializer=org.apache.serializer.KyroSerializer; #设置对象序列化方式

2022年10月2日 · 1 分钟