启动Spark SQL Thrift Server 使用YARN进行资源管理

前言

  • 在这篇博客中,我们将详细探讨如何使用Shell脚本启动Spark SQL的Thrift Server,并配置其以YARN作为资源管理器。Thrift Server允许用户通过JDBC/ODBC连接来执行SQL查询,是大数据环境中进行数据分析和报告的强大工具。以下是一个具体的Shell脚本示例及其配置参数的详细解释。

shell脚本示例 :

/opt/cloudera/parcels/spark3.3.2/sbin/start-thriftserver.sh \  
  --master yarn \  
  --queue root.spark \  
  --conf spark.dynamicAllocation.enabled=true \  
  --conf spark.dynamicAllocation.shuffleTracking.enabled=true \  
  --conf spark.dynamicAllocation.minExecutors=2 \  
  --conf spark.dynamicAllocation.maxExecutors=100 \  
  --conf spark.dynamicAllocation.initialExecutors=2 \  
  --conf spark.dynamicAllocation.executorIdleTimeout=600s \  
  --conf spark.dynamicAllocation.cachedExecutorIdleTimeout=600s \  
  --conf spark.dynamicAllocation.schedulerBacklogTimeout=3s \  
  --driver-cores 1 \  
  --executor-cores 1 \  
  --driver-memory 2G \  
  --executor-memory 12G

脚本参数解释

1. --master yarn

  • 指定Spark应用程序的Master URL为YARN。这意味着Spark应用程序将在YARN集群上运行,YARN负责资源管理和调度。

2. --queue root.spark

  • 指定YARN队列为root.spark。YARN队列用于控制不同应用程序的资源分配优先级和隔离。

3. 动态资源分配配置

  • --conf spark.dynamicAllocation.enabled=true: 启用动态资源分配。这允许Spark根据工作负载自动调整执行器的数量。
  • --conf spark.dynamicAllocation.shuffleTracking.enabled=true: 启用shuffle跟踪,这有助于更好地估计执行器需求。
  • --conf spark.dynamicAllocation.minExecutors=2: 设置最小执行器数量为2。
  • --conf spark.dynamicAllocation.maxExecutors=100: 设置最大执行器数量为100。
  • --conf spark.dynamicAllocation.initialExecutors=2: 初始执行器数量设置为2。
  • --conf spark.dynamicAllocation.executorIdleTimeout=600s: 执行器空闲超时时间设置为600秒,即如果执行器在600秒内没有运行任何任务,则将其回收。
  • --conf spark.dynamicAllocation.cachedExecutorIdleTimeout=600s: 缓存执行器空闲超时时间也设置为600秒。这针对缓存数据的执行器,可能需要更长的空闲时间。
  • --conf spark.dynamicAllocation.schedulerBacklogTimeout=3s: 调度器积压超时时间设置为3秒。这用于决定何时需要增加执行器以处理积压的任务。

4. 驱动器与执行器配置

  • --driver-cores 1: 设置驱动器程序的核心数为1。
  • --executor-cores 1: 设置每个执行器的核心数为1。
  • --driver-memory 2G: 设置驱动器程序的内存为2GB。
  • --executor-memory 12G: 设置每个执行器的内存为12GB。

动态资源分配的优势

  • 提高资源利用率:根据实际需求动态调整资源,避免资源浪费。
  • 弹性伸缩:应对不同规模的数据处理需求,提高集群的吞吐量。
  • 简化资源管理:减少手动配置资源的需求,降低运维复杂度。

总结

  • 通过上面的Shell脚本及其配置参数,我们可以灵活地在YARN集群上启动并配置Spark SQL的Thrift Server。动态资源分配的配置使得Spark能够根据工作负载自动调整资源,从而提高资源利用率和查询性能。同时,通过精细的驱动器与执行器配置,可以确保Spark应用程序在资源受限的环境中也能稳定运行。

  • 在实际应用中,根据具体的集群环境和工作负载,这些配置参数可能需要进一步调整以优化性能。此外,还需要注意YARN队列的配置和权限管理,以确保Spark应用程序能够顺利访问和使用集群资源。

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lfwh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值