1. # MainApplicationProperties
  2. # --master yarn --deploy-mode client 下的配置, client 模式表示,driver 是在本地机器上跑的,thrift server 设置就是 client 模式,这样会方便从 driver 中拿数
  3. # spark job 临时保存的目录
  4. spark.local.dir /tmp
  5. # spark YARN Application Master 申请的内存,这个中会保存查询返回的数据,所以设置的大一些比较好。
  6. # dw02 因为本身内存比较小,所以这里设置4G
  7. spark.yarn.am.memory 12g
  8. # YARN Application Master 设置的核数,默认是1,但是不够用,在处理 broad cast 变量时候会出问题,这里设置为5.
  9. spark.yarn.am.cores 5
  10. #spark.kryoserializer.buffer.max 1024m
  11. #spark.master spark://10.62.34.223:7077
  12. # --master yarn --deploy-mode cluster 下的配置
  13. # 对应 YARN Application Master 申请的 core
  14. spark.driver.cores 3
  15. # 对应 YARN Application Master 申请的 memory, 注意这个和 yarn container 分配的最小内存有关, container 如果是 8G, 这里设置为4G, 实际分配也是 8G
  16. spark.driver.memory 12g
  17. # 返回结果的最大容量,如果这里超出了 driver memory 或者 jvm 的设置,就会 OOM
  18. spark.driver.maxResultSize 10g
  19. # Shuffle Behavior
  20. # 影响一个Spark Job 的主要因素还是 代码开发, 资源参数, 以及数据倾斜, shuffle调优只能在整个 Spark 性能调优中占到一小部分
  21. # shuffle 开启压缩
  22. spark.shuffle.compress true
  23. # 该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小。将数据写到磁盘文件之前,会先写入buffer缓冲中,待缓冲写满之后,才会溢写到磁盘。
  24. spark.shuffle.file.buffer 64k
  25. # 开启 External Shuffle Service ,避免 Executor 任务过重挂掉
  26. spark.shuffle.service.enabled true
  27. # shuffle 的 port
  28. spark.shuffle.service.port 7337
  29. # 在 分割文件的时候 压缩数据
  30. spark.shuffle.spill.compress true
  31. # shuffle read task从shuffle write task所在节点拉取属于自己的数据时,如果因为网络异常导致拉取失败,是会自动进行重试的。该参数就代表了可以重试的最大次数。如果在指定次数之内拉取还是没有成功,就可能会导致作业执行失败。
  32. spark.shuffle.io.maxRetries 10
  33. # retry 的重试时间
  34. spark.shuffle.io.retryWait 30s
  35. # Compression
  36. # 数据传输过程中进行序列化
  37. spark.serializer org.apache.spark.serializer.KryoSerializer
  38. # Spark UI,
  39. # 每个Job的监控
  40. spark.ui.enabled true
  41. spark.ui.port 4040
  42. spark.ui.killEnabled true
  43. # Execution Behavior
  44. # 每个 Executor 申请的最小内存, 对应 YARN 的最小内存 8G, 这里就算比8G 小,申请下来的内存还是8G
  45. spark.executor.memory 8G
  46. # 每个 Executor 的核数,默认为 1, 实际上为1 是不够用的,如果计算量大,就会失去响应,这里设置为2,如果还是出现没有响应,继续调大
  47. spark.executor.cores 2
  48. # Scheduling
  49. # FIFO 的资源分配模式
  50. spark.scheduler.mode FIFO
  51. # 开启预测, spark 会计算每个 task 跑的时间,如果某个 task 跑的太慢了,超出了预期,就会再启动一个相同的 task,看谁先跑完,谁先跑完,就用谁的计算结果。
  52. # 如果出现 Lost task 239.0 in stage 144.0 (TID 398794, sha2hdpw17, executor 761): TaskKilled (another attempt succeeded), 就代表这个 task 因为计算时间太长被干掉了。
  53. spark.speculation true
  54. # 执行间隔
  55. spark.speculation.interval 1000ms
  56. # 任务完成
  57. spark.speculation.quantile 0.8
  58. # 比其他的慢多少倍时启动推测, 设置为2 的时候,有太多的task 被 retry 了, 如果到 5 了还没跑完,可能是真的有问题了,当然也有可能是某个task 执行很复杂的计算。
  59. # 总之,开启推测后,日志中不要经常出现 kill 信息,如果太经常了,说明设置的不好, 加大倍数,或者彻底关闭
  60. spark.speculation.multiplier 5
  61. #Others
  62. # 开启动态分配,如果 job 需要的资源多,会自动向 yarn 申请资源
  63. # 注意啊,使用 spark streaming 最好不要开这个。
  64. spark.dynamicAllocation.enabled true
  65. # 动态分配,最小的 executors 个数
  66. spark.dynamicAllocation.minExecutors 3
  67. # 最大分为 executors 个数
  68. spark.dynamicAllocation.maxExecutors 600
  69. # 如果有 task 等待的时间超过了1S,就会申请资源
  70. spark.dynamicAllocation.schedulerBacklogTimeout 1s
  71. # 如果有 executor 超过 30s 没有被使用,就干掉
  72. spark.dynamicAllocation.executorIdleTimeout 30s
  73. # Spark Sql shuffle task 的并行度
  74. spark.sql.shuffle.partitions 400
  75. # 增加 broadcast time out 的时间,默认是 300s,但是我们有的 broadcast join 会超过这个事件,这个时候任务就会失败
  76. spark.sql.broadcastTimeout 6000
  77. # 增加窗口文件的大小,避免产生过多的小文件
  78. spark.sql.windowExec.buffer.spill.threshold 1500000
  79. # spark 默认的通信时间是120s, 有的时候会出现超时,这里调增为300s
  80. spark.network.timeout 300s
  81. #AppName
  82. #yarn 上指定队列的名字,注意不同的机器需要修改
  83. spark.yarn.queue spark_123

spark thrift server configuration的更多相关文章

  1. Spark Thrift Server

    ThriftServer是一个JDBC/ODBC接口,用户可以通过JDBC/ODBC连接ThriftServer来访问SparkSQL的数据.ThriftServer在启动的时候,会启动了一个Spar ...

  2. Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...

  3. spark sql thrift server

    ### create data ## cat ## echo "$(date ;echo ## cat }'";exit}' ..} do passwd) echo "$ ...

  4. 「Spark」Spark SQL Thrift Server运行方式

    Spark SQL可以使用JDBC/ODBC或命令行接口充当分布式查询引擎.这种模式,用户或者应用程序可以直接与Spark SQL交互,以运行SQL查询,无需编写任何代码. Spark SQL提供两种 ...

  5. 【原创】大数据基础之Spark(3)Spark Thrift实现原理及代码实现

    spark 2.1.1 一 启动命令 启动spark thrift命令 $SPARK_HOME/sbin/start-thriftserver.sh 然后会执行 org.apache.spark.de ...

  6. 【原创】用python连接thrift Server 去执行sql的问题总汇

    场景:python和现有产品的结合和应用——python的前瞻性调研 环境:centos7 0.首先确保安装了python和pyhive,下面是连接代码: #!/usr/bin/env python ...

  7. 【原创】大叔问题定位分享(18)beeline连接spark thrift有时会卡住

    spark 2.1.1 beeline连接spark thrift之后,执行use database有时会卡住,而use database 在server端对应的是 setCurrentDatabas ...

  8. 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 ...

  9. Apache2.4:AH01630 client denied by server configuration

    问题说明:Apache服务总共有4个,是为了防止单点故障和负载均衡,负载均衡控制由局方的F5提供. 访问的内容在NAS存储上,现象是直接访问每个apache的服务内容都是没有问题,但是从负载地址过来的 ...

随机推荐

  1. BZOJ 2141 分块 线段树

    思路: a[i] //By SiriusRen #include <cmath> #include <cstdio> #include <cstring> #inc ...

  2. mac下生成ssh key

    ssh -v usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  3. RocketMQ学习笔记(10)----RocketMQ的Producer 事务消息使用

    1. 事务消息原理图 RocketMQ除了支持普通消息,顺序消息之外,还支持了事务消息. 1. 什么是分布式事务? 分布式事务就是指事务的参与者.支持事务的服务器.资源服务器以及事务管理器分别位于不同 ...

  4. nodejs+express搭建服务器

    1.Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能 ...

  5. WePy--使用zanUI组件

    因为Wepy 中不能直接引入zanUI组件, 好在还有百度, 参考链接 https://github.com/brucx/wepy-zanui-demo (感谢); 我的做法是将 源码下了下来, 源码 ...

  6. LeetCode 856 递归思路详解

    题目描述 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分. AB 得 A + B 分,其中 A 和 B 是平衡括号字符串. (A) 得 2 * A 分,其中 A 是平衡括 ...

  7. js追加元素

    直接运行 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  8. qt quick中qml编程语言

    Qt QML 入门 — 使用C++定义QML类型 发表于 2013 年 3 月 11 日   注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如 ...

  9. 利用CORS解决前后端分离的跨域资源问题

    CORS 即CrossOrigin Resources Sharing-跨域资源共享,它定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求.它是一个妥协,有更大的灵活性,但比起简单地允许所有这些 ...

  10. oracle 数据类型及函数

    第一节:字符串类型及函数 字符类型分 3 种,char(n) .varchar(n).varchar2(n) : char(n)固定长度字符串,假如长度不足 n,右边空格补齐: varchar(n)可 ...