spark thrift server configuration
# MainApplicationProperties
# --master yarn --deploy-mode client 下的配置, client 模式表示,driver 是在本地机器上跑的,thrift server 设置就是 client 模式,这样会方便从 driver 中拿数
# spark job 临时保存的目录
spark.local.dir /tmp
# spark YARN Application Master 申请的内存,这个中会保存查询返回的数据,所以设置的大一些比较好。
# dw02 因为本身内存比较小,所以这里设置4G
spark.yarn.am.memory 12g
# YARN Application Master 设置的核数,默认是1,但是不够用,在处理 broad cast 变量时候会出问题,这里设置为5.
spark.yarn.am.cores 5
#spark.kryoserializer.buffer.max 1024m
#spark.master spark://10.62.34.223:7077
# --master yarn --deploy-mode cluster 下的配置
# 对应 YARN Application Master 申请的 core
spark.driver.cores 3
# 对应 YARN Application Master 申请的 memory, 注意这个和 yarn container 分配的最小内存有关, container 如果是 8G, 这里设置为4G, 实际分配也是 8G
spark.driver.memory 12g
# 返回结果的最大容量,如果这里超出了 driver memory 或者 jvm 的设置,就会 OOM
spark.driver.maxResultSize 10g
# Shuffle Behavior
# 影响一个Spark Job 的主要因素还是 代码开发, 资源参数, 以及数据倾斜, shuffle调优只能在整个 Spark 性能调优中占到一小部分
# shuffle 开启压缩
spark.shuffle.compress true
# 该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小。将数据写到磁盘文件之前,会先写入buffer缓冲中,待缓冲写满之后,才会溢写到磁盘。
spark.shuffle.file.buffer 64k
# 开启 External Shuffle Service ,避免 Executor 任务过重挂掉
spark.shuffle.service.enabled true
# shuffle 的 port
spark.shuffle.service.port 7337
# 在 分割文件的时候 压缩数据
spark.shuffle.spill.compress true
# shuffle read task从shuffle write task所在节点拉取属于自己的数据时,如果因为网络异常导致拉取失败,是会自动进行重试的。该参数就代表了可以重试的最大次数。如果在指定次数之内拉取还是没有成功,就可能会导致作业执行失败。
spark.shuffle.io.maxRetries 10
# retry 的重试时间
spark.shuffle.io.retryWait 30s
# Compression
# 数据传输过程中进行序列化
spark.serializer org.apache.spark.serializer.KryoSerializer
# Spark UI,
# 每个Job的监控
spark.ui.enabled true
spark.ui.port 4040
spark.ui.killEnabled true
# Execution Behavior
# 每个 Executor 申请的最小内存, 对应 YARN 的最小内存 8G, 这里就算比8G 小,申请下来的内存还是8G
spark.executor.memory 8G
# 每个 Executor 的核数,默认为 1, 实际上为1 是不够用的,如果计算量大,就会失去响应,这里设置为2,如果还是出现没有响应,继续调大
spark.executor.cores 2
# Scheduling
# FIFO 的资源分配模式
spark.scheduler.mode FIFO
# 开启预测, spark 会计算每个 task 跑的时间,如果某个 task 跑的太慢了,超出了预期,就会再启动一个相同的 task,看谁先跑完,谁先跑完,就用谁的计算结果。
# 如果出现 Lost task 239.0 in stage 144.0 (TID 398794, sha2hdpw17, executor 761): TaskKilled (another attempt succeeded), 就代表这个 task 因为计算时间太长被干掉了。
spark.speculation true
# 执行间隔
spark.speculation.interval 1000ms
# 任务完成
spark.speculation.quantile 0.8
# 比其他的慢多少倍时启动推测, 设置为2 的时候,有太多的task 被 retry 了, 如果到 5 了还没跑完,可能是真的有问题了,当然也有可能是某个task 执行很复杂的计算。
# 总之,开启推测后,日志中不要经常出现 kill 信息,如果太经常了,说明设置的不好, 加大倍数,或者彻底关闭
spark.speculation.multiplier 5
#Others
# 开启动态分配,如果 job 需要的资源多,会自动向 yarn 申请资源
# 注意啊,使用 spark streaming 最好不要开这个。
spark.dynamicAllocation.enabled true
# 动态分配,最小的 executors 个数
spark.dynamicAllocation.minExecutors 3
# 最大分为 executors 个数
spark.dynamicAllocation.maxExecutors 600
# 如果有 task 等待的时间超过了1S,就会申请资源
spark.dynamicAllocation.schedulerBacklogTimeout 1s
# 如果有 executor 超过 30s 没有被使用,就干掉
spark.dynamicAllocation.executorIdleTimeout 30s
# Spark Sql shuffle task 的并行度
spark.sql.shuffle.partitions 400
# 增加 broadcast time out 的时间,默认是 300s,但是我们有的 broadcast join 会超过这个事件,这个时候任务就会失败
spark.sql.broadcastTimeout 6000
# 增加窗口文件的大小,避免产生过多的小文件
spark.sql.windowExec.buffer.spill.threshold 1500000
# spark 默认的通信时间是120s, 有的时候会出现超时,这里调增为300s
spark.network.timeout 300s
#AppName
#yarn 上指定队列的名字,注意不同的机器需要修改
spark.yarn.queue spark_123
spark thrift server configuration的更多相关文章
- Spark Thrift Server
ThriftServer是一个JDBC/ODBC接口,用户可以通过JDBC/ODBC连接ThriftServer来访问SparkSQL的数据.ThriftServer在启动的时候,会启动了一个Spar ...
- Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理
转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...
- spark sql thrift server
### create data ## cat ## echo "$(date ;echo ## cat }'";exit}' ..} do passwd) echo "$ ...
- 「Spark」Spark SQL Thrift Server运行方式
Spark SQL可以使用JDBC/ODBC或命令行接口充当分布式查询引擎.这种模式,用户或者应用程序可以直接与Spark SQL交互,以运行SQL查询,无需编写任何代码. Spark SQL提供两种 ...
- 【原创】大数据基础之Spark(3)Spark Thrift实现原理及代码实现
spark 2.1.1 一 启动命令 启动spark thrift命令 $SPARK_HOME/sbin/start-thriftserver.sh 然后会执行 org.apache.spark.de ...
- 【原创】用python连接thrift Server 去执行sql的问题总汇
场景:python和现有产品的结合和应用——python的前瞻性调研 环境:centos7 0.首先确保安装了python和pyhive,下面是连接代码: #!/usr/bin/env python ...
- 【原创】大叔问题定位分享(18)beeline连接spark thrift有时会卡住
spark 2.1.1 beeline连接spark thrift之后,执行use database有时会卡住,而use database 在server端对应的是 setCurrentDatabas ...
- Zipkin Server Configuration Using Docker and MySQL[转]
Zipkin is a used for capturing timing data, it also has a centralized repository, and a microweb ser ...
- Apache2.4:AH01630 client denied by server configuration
问题说明:Apache服务总共有4个,是为了防止单点故障和负载均衡,负载均衡控制由局方的F5提供. 访问的内容在NAS存储上,现象是直接访问每个apache的服务内容都是没有问题,但是从负载地址过来的 ...
随机推荐
- js写发布微博文本框---2017-04-14
实现效果: 1.文本框输入内容,低端字数对应减少 2.当文本框内容超出时,会显示字数超出多少 效果图如下: 实现代码: <!DOCTYPE html><html> <he ...
- linux服务器卸载本机默认安装的jdk
1. 查看系统安装的版本情况: rpm -qa | grep jdk rpm -qa | grep gcj 2. 查看并删除 [root@iZ2zeedm3x12d8xb4g15a ...
- Linux中文件上传使用rz
1.首先,要是服务器不支持rz命令的话,需要安装执行 sudo yum -y install lrzsz 2.再输入rz -be命令,选择需要上传的本地文件 sudo rz 从服务端发送文件到客户端: ...
- POJ 1252 DP
题意:给你6个数.让你求出1~100范围内的数 最优情况下由这六个数加减几步得到. 输出平均值和最大值. 思路: 我就随便写了写,,,感觉自己的思路完全不对. 但是交上去 AC了!!! 我先当减法 不 ...
- C#操作sql时注意点
①创建必要的索引 ②使用预编译查询 ③使用参数化sql会执行预编译,第一次执行的时候DBMS会为这个SQL语句进行查询优化并执行预编译 ④调整where子句中的连接顺序 ⑤DBMS一般次用自上而下的顺 ...
- jQuery应用实例3:鼠标经过显示离开隐藏
效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 【摘录】JAVA内存管理-有关垃圾收集的关键参数
第八章 有关垃圾收集的关键参数 一些命令行参数可以用来选择垃圾收集器,指定堆或代的大小,修改垃圾收集行为,获取垃圾收集统计数据.本章给出一些最常用的参数.有关各种各样参数更多完整的列表和详细信息可以参 ...
- POJ.grids.2980
题目链接:http://bailian.openjudge.cn/practice/2980 解题思路:先将对应位相乘的积累加,最后再来处理进位问题:如 835*49: 先做 835*9: 得到 i ...
- CDR X7正版优惠,3折来袭,好礼相送,行不行动?
意料之中的是,CorelDRAW系列软件在618期间成绩再次突破历史,成为新高.因为X7版本活动在6月15号的才上, 加之在此之前从没有过X7的活动优惠,势头之猛,可想而知,如此一来,官方预定的限量2 ...
- vscode快捷键补充
ctrl+enter 快速还到下行并插入一行 ctrl+shift+enter 快速换到上行并插入一行 ctrl+~ ctrl+1 快速在终端与代码区切换 ctrl+i 选中一行 ctrl + p: ...