CDH之HIVE-ON-SPARK、Spark配置

80 篇文章 2 订阅

原:CDH之HIVE-ON-SPARK、Spark配置_小基基o_O的博客-CSDN博客_cdh hive on spark

HIVE ON SPARK配置

CDH6.3.2的HIVE版本为:2.1.1+cdh6.3.2

HIVE默认引擎 

hive.execution.engine


Driver配置

spark.driver

配置名称说明建议
spark.driver.memory用于Driver进程的内存YARN可分配总内存的10%
spark.driver.memoryOverhead集群模式下每个Driver进程的堆外内存Driver内存×0.1
spark.yarn.driver.memoryOverheadspark.driver.memoryOverhead差不多,YARN场景专用AM内存×0.1
spark.driver.cores集群模式下,用于Driver进程的核心数


Executor配置


spark.executor


 

配置名称说明建议
spark.executor.cores单个Executor的CPU核数4
spark.executor.memoryExecutor进程的堆内存大小,用于数据的计算和存储
spark.executor.memoryOverheadExecutor进程的堆外内存,用于JVM的额外开销,操作系统开销等spark.executor.memoryOverhead=
spark.executor.memory × \times× 0.1
spark.executor.instances静态分配executor数量不使用静态分配

 Executor数量动态分配


spark.dynamicAllocation

配置名称说明建议
spark.dynamicAllocation.enabled是否启用 Executor个数动态调配启用
spark.dynamicAllocation.initialExecutors初始Executor个数
spark.dynamicAllocation.minExecutors最少Executor个数1
spark.dynamicAllocation.maxExecutors最多Executor个数
spark.dynamicAllocation.executorIdleTimeoutExecutor闲置超时就会被移除默认60秒
spark.dynamicAllocation.schedulerBacklogTimeout待处理的任务积压超时就会申请启动新的Executor默认1秒
  • 假设某节点 NM 有16个核可供Executor使用

若spark.executor.core配置为4,则该节点最多可启动4个Executor
若spark.executor.core配置为5,则该节点最多可启动3个Executor,会剩余1个核未使用

  • Executor个数的指定方式有两种:静态分配和动态分配

动态分配可根据一个Spark应用的工作负载,动态地调整Executor数量
资源不够时增加Executor,Executor不工作时将被移除
启用方式是spark.dynamicAllocation.enabled设为true
 

Spark配置


CDH6.3.2的Spark版本为:2.4.0+cdh6.3.2

shuffle服务

  • 启用了动态分配Executor数量的情况下,shuffle服务允许删除Executor时保留其编写的shuffle文件
  • 每个工作节点上都要设置外部shuffle服务

spark.shuffle.service

配置建议

  • 大数据集群分为管理节点和工作节点,建议:

管理节点的逻辑核数:内存(G)=1:2或1:4
工作节点的逻辑核数:内存(G)=1:4或1:8

  • 建议给到 NM 约80%服务器资源,例如服务器有128G和32核,则:

yarn.nodemanager.resource.memory-mb可给100G
yarn.nodemanager.resource.cpu-vcores可给25
 

工作节点p101p102p103p104max
内存(G)128128128128512128
逻辑CPU个数(虚拟核心数)3232323212832
NM 可分配内存(G)yarn.nodemanager.resource.memory-mb100100100100400100
NM 可分配虚拟核心数yarn.nodemanager.resource.cpu-vcores2525252510025

  • MapReduce

AM内存:12G
AM虚拟核心数:3
Map内存:20G(单节点yarn.nodemanager.resource.memory-mb的约数)
Map虚拟核心数:5(单节点yarn.nodemanager.resource.cpu-vcores的约数)
Reduce内存:20G
Reduce虚拟核心数:5

  • Spark

spark.driver.memory:10.8G
spark.driver.memoryOverhead:1.2G
spark.executor.memory:18G
spark.executor.memoryOverhead:2G
spark.executor.cores:5

附录 

🔉
idleˈaɪd(ə)ladj. 无事可做的;闲置的;v. 无所事事;(发动机、车辆)空转
overheadˌoʊvərˈhedadv. 在头顶上方;adj. 头顶上的;n. 营运费用;日常管理费;间接费用
backlogˈbæklɔːɡn. 积压的工作
pendingˈpendɪŋadj. 待定的,待处理的;即将发生的;prep. 直到……为止:v. 等候判定或决定
pendpendv. 等候判定;悬挂

原文地址:spark.apache.org/docs/latest=>Configuration

### 回答1: CDH(Cloudera's Distribution for Hadoop)是Cloudera公司针对Hadoop生态系统进行的一系列软件包和工具的集成,其中包括Hive on Spark配置Hive是一个建立在Hadoop之上的数据仓库基础架构,它提供了类似于SQL的查询语言HiveQL,方便用户使用SQL语言对存储在Hadoop中的大型数据集进行查询和分析。Spark是一个快速、通用的数据处理引擎,具有内存计算的特性,能在内存中高效地处理大规模数据。 在CDH配置Hive on Spark需要进行以下步骤: 1. 确保CDH集群已经正确安装和配置,并且已经启动了Hive服务和Spark服务。 2. 在CDH管理界面中,选择Hive服务,然后点击“配置”选项卡。 3. 在配置页面中,找到“Hive 服务”下的“Ancillary Service Configuration”部分。在“Spark”部分中,填写正确的Spark主节点地址和端口号。 4. 点击“保存并重启”以应用配置更改。 5. 在CDH管理界面中,选择Spark服务,然后点击“配置”选项卡。 6. 在配置页面中,找到“Spark 特定”的部分。在“Spark 实例模式”中选择“Standalone”,表示将使用独立的Spark集群。 7. 在“Spark 主节点地址”中填写正确的Spark主节点的地址。 8. 点击“保存并重启”以应用配置更改。 9. 配置完成后,可以使用HiveQL语句在Hive中使用Spark进行查询和分析数据。在Hive命令行或Hue界面中,编写需要的查询语句并执行。 通过以上步骤,就可以在CDH上成功配置Hive on Spark。这样就可以同时利用HiveSpark的强大功能,实现对大规模数据的高效分析和处理。 ### 回答2: CDH配置Hive on Spark是指在CDH平台上配置使用Spark作为Hive的计算引擎。下面是具体的步骤: 1. 首先,确保已经在CDH平台上安装了HiveSpark组件。 2. 在Hive配置文件中,需要添加以下参数来启用Hive on Sparkhive.execution.engine = spark hive.spark.client.connect.timeout = 300s hive.spark.client.server.connect.timeout = 300s 3. 在Spark配置文件中,需要增加以下参数来支持Hive on Sparkspark.master = yarn-client spark.deploy.mode = client spark.submit.deployMode = client spark.yarn.queue = default spark.executor.instances = 10 spark.executor.memory = 4G spark.executor.cores = 2 spark.driver.memory = 4G 4. 然后,重启HiveSpark的服务。 5. 运行Hive脚本或者Hive命令时,可以在Hive中使用"hive.execution.engine=spark"设置为Spark引擎,或者在命令行中使用"--engine=spark"参数。 配置完成后,Hive会将相应的作业提交给Spark来执行,利用Spark的分布式计算能力加速Hive查询的执行速度。需要注意的是,配置Hive on Spark需要确保CDH平台中的HiveSpark是兼容的,并且调整Spark的资源配置以满足计算需求。 总之,通过CDH配置Hive on Spark可以充分发挥Spark的并行处理能力,提高Hive查询的执行效率和性能。 ### 回答3: CDH是一种大数据解决方案,用于配置Hive on Spark的步骤如下: 1. 首先,确保已安装CDH集群并启动了HiveSpark组件。如果还没有安装,请按照CDH文档进行安装和配置。 2. 检查HiveSpark的版本兼容性。Hive on Spark需要HiveSpark版本之间的兼容性,查看CDH文档以了解哪些版本适用于您的集群。 3. 在Hive配置文件中启用HiveSpark支持。打开Hive配置文件(hive-site.xml),设置hive.execution.engine为spark。 4. 配置Spark属性。在Spark配置文件(spark-defaults.conf)中,设置spark.master为yarn-client或yarn-cluster,这取决于您的CDH集群配置。还可以通过设置其他属性来优化Spark执行引擎的性能。 5. 启动Hive服务。重启Hive服务以使配置更改生效。您可以使用以下命令重新启动Hive服务: sudo service hive-server2 restart 6. 测试Hive on Spark。使用Hive命令行或其他Hive客户端,运行一些Hive查询并确认它们是否在Spark上执行。 配置Hive on Spark可以提供更好的性能和资源利用率。而且,使用Spark作为执行引擎还可以充分利用Spark提供的丰富的数据处理功能和API。通过使用CDHHive on Spark配置,您可以更好地处理和分析大规模的数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值