当前位置: 首页 > news >正文

carbondata连接数优化

一,背景

  carbondata的入库采用arbonData Thrift Server方式提供,由于存在异常的入库segments但是显示状态是success,所以每天运行另一个博客中的脚本,出现连接超时,运行不正常,排查是每天连接数太多,每天将segments都遍历一遍。

二 优化策略

a,策略一:
1,通过添加spark的调度池
在Spark中,调度池(Scheduler Pool)用于为不同的作业分配资源池,以控制其执行优先级。设置调度池可以帮助管理不同作业之间的资源争用情况。要使用调度池,您需要配置Fair Scheduler并创建相应的调度池配置文件。
1-1 设置调度池
spark.sql.hive.thriftServer.scheduler.pool=my-pool
1-2配置调度池文件
cp fairscheduler.xml.template fairscheduler.xml

 <pool name="my-pool"><schedulingMode>FAIR</schedulingMode><weight>1</weight><minShare>3</minShare><maxRunningApps>50</maxRunningApps><maxResources>100g,50</maxResources><minResources>4g,8</minResources><fairSharePreemptionTimeout>300</fairSharePreemptionTimeout><minSharePreemptionTimeout>120</minSharePreemptionTimeout><fairSharePreemptionThreshold>0.5</fairSharePreemptionThreshold></pool>
2,启用异步模式,提搞并发能力spark.sql.hive.thriftServer.async = true 
3,spark-default中配置

```xml
spark.sql.hive.thriftServer.scheduler.pool=my-pool
spark.sql.hive.thriftServer.thrift.port=10000
spark.sql.hive.thriftServer.idleSessionTimeout=3600
spark.sql.hive.thriftServer.async=true
4,启动命令/bin/spark-submit --master yarn   --conf spark.driver.maxResultSize=20g --conf spark.sql.hive.thriftServer.scheduler.pool=my-pool  --conf spark.scheduler.mode=FAIR \--conf spark.scheduler.allocation.file=$SPARK_HOME/conf/fairscheduler.xml --conf spark.sql.shuffle.partition=50 --driver-memory 25g --executor-cores 4 --executor-memory 5G --num-executors 10 --class org.apache.carbondata.spark.thriftserver.CarbonThriftServer $SPARK_HOME/carbonlib/apache-carbondata-2.X-bin-sparkx-hadoop2.x.x.jar 
通过指定spark.sql.hive.thriftServer.scheduler.pool设置
5,验证通过查看是否 有create pool和 Removed from pool
b,策略二:可以尝试通过zk进行负载均衡,这样还待测试
http://www.lryc.cn/news/374105.html

相关文章:

  • 云和运维(SRE)的半生缘-深读实证02
  • java基础操作5——java自定义获取任意年、月、日的起始和结束时间
  • 【Java04】引用变量数组初始化的内存机制
  • 基于JSP的足球赛会管理系统
  • 博客摘录「 AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)」2024年6月10日
  • Bigtable: A Distributed Storage System for Structured Data
  • RAG下的prompt编写探索
  • 【计算机组成原理】指令系统考研真题详解之拓展操作码!
  • 北航第六次数据结构与程序设计作业(查找与排序)选填题
  • Optional详解和常用API
  • Unity 3D 物体的Inspector面板
  • 闪烁与常亮的符号状态判断机制(状态机算法)
  • Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!
  • Vue主要使用-03
  • LoadBalance客户端负载均衡
  • Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
  • 逢3必过报数游戏-第13届蓝桥杯省赛Python真题精选
  • 解决Qt的multimedia库在clion中依赖库补全的问题
  • 图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)
  • windows用脚本编译qt的项目
  • mybatis-plus使用拦截器实现sql完整打印
  • GPT-4并非世界模型,LeCun双手赞同!ACL力证LLM无法模拟真实世界
  • 第 6 章: Spring 中的 JDBC
  • [C++ STL] vector 详解
  • PHP简约轻型聊天室留言源码
  • 代码随想录算法训练营day23|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
  • 实时通信websocket和sse
  • (超详细)基于动态顺序表实现简单的通讯录项目
  • 修改SubVI的LabVIEW默认搜索路径
  • 基于python深度学习的CNN图像识别鲜花-含数据集+pyqt界面