- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 Spark On Yarn 源码分析
首先说明下AppMaster 与Driver 的区别,每个运行在yarn上的服务都需要有一个AppMaster,而Driver是一个Spark任务特有的,Driver 会负责创建SparkContext对象【内部维护了用于任务划分以及执行的DAGScheduler以及TaskScheduler】,DAGScheduler会将任务划分为job stage 然后交给TaskScheduler调度分配给Executor执行。【注:Driver 不仅仅可以用来创建SparkContext 还可以做一些其他的需求..
2021-01-13 17:27:01 1060
原创 hive查询meta信息方式
转载: https://blog.csdn.net/lz6363/article/details/89498340。
2023-10-10 17:53:20 130
原创 Spark运行在JDK 17上的参数配置
在将Spark应用程序迁移到JDK 17并进行集成时,需要进行一些额外的参数配置。另外,在集成时可能会遇到Hive外部元数据服务异常,具体问题可以查看链接。为了解决该问题,需要修改相关代码并重新打包。注意,在打包时要确保。其他参数直接复制即可。垃圾收集器的参数是可选的,这里配置了。中,并将这两个jar包一起添加到classpath中。用于指定执行器的Java安装目录。用于指定节点的Java安装目录,以使用ZGC垃圾收集器。
2023-08-14 09:23:19 758 2
原创 hadoop滚动重启脚本
再使用开源版本hadoop集群时,有配置参数修改时,需要人工修改并重启节点让配置生效,因此这里这里写了个脚本实现自动滚动重启。注意:不同版本的hadoop。
2023-05-25 14:55:21 280
原创 Hive3.1.2 适配Ranger1.2.1
Hive3的权限接口新增了 getHivePolicyProvider 方法,因此需要在ranger1.2.1 RangerHiveAuthorizer 类中实现此方法,对比了最新版本的Ranger2.x有这个方法的实现但是涉及的代码很多因此这里又参考了hive 本身的一些权限实现发现并没有提供此方法的实现,因此这里也是直接提供了 空的实现。在RangerHiveAuthorizer 类中添加如下实现(这里需要注意需要单独下载ranger hive-agent 代码,将pom 中hive 依
2022-02-22 17:11:41 1027
原创 RangerAdminHA部署方案
**概叙**ranger最新版本2.0已经实现了基于客户端的HA方式,只需要在客户端配置多个URL即可,对于之前的版本如果是实现高可用可以采用Haproxy+KeepAlived的方式。
2021-08-31 17:15:02 1120 1
原创 关于Yarn Acl 的问题
最近在集成Ranger做权限控制,在Yarn集成Ranger时发现没有配置权限的用户也可以提交任务,感到比较迷惑,所以看了下Ranger这块的代码实现:如下代码,ranger这里其实分了两部分 首先校验raner中的权限策略 如果有则返回 true 可以提交任务,如果没权限则会继续进行acl的校验,在acl 校验时可以参考 isAllowedByYarnAcl 代码 这里循环了yarn 配置的所有队列 ,找到当前队列或者当前队列的父队列,只要有一个满足权限就会允许提交任务://权限检查 public
2021-08-27 11:00:07 472
原创 关于使用msck修复hive分区,以及在添加分区缓慢的问题
1)需要修复的分区数量很大的解决办法set hive.msck.repair.batch.size=1000;set hive.msck.path.validation=ignore;第一个参数是设置每次插入到metaStore 分区的批量大小,加入有10000个待修复的分区 那么这里就是10000/1000 共计十个批次,默认如果不设置此参数会把所有数据全部发送到metastore 中执行插入操作。第二个参数是忽略掉非标准分区表的,不会对这种分区做任何操作,如果需要加入的话 也是需要自己手动alt
2021-06-10 17:29:40 2783
原创 关于Hive重写LineageLogger获取血缘问题
Lineagelogger类是hive2.x加入的,但是我们如果自己改造的话需要注意如下问题:(如果将代码迁移到1.x应该直接可用 1.x代码中是直接做了add的操作,并没有做判断才进行加入)org.apache.hadoop.hive.ql.optimizer.Optimizer 类 第79行 这里由于只有如下几种类型才会加入 generator ,后续才能正常注入字段级血缘,所以如果这里没有改 直接配置了 hive.exec.post.hooks 类型的hook , 只能拿到基本的input 与
2021-06-03 19:55:26 1522 1
原创 spark运行时reduce端任务数
Tasks数决定因素在Spark 中 我们知道会将一个任务划分为多个stage ,划分stage的依据就是是否为宽依赖(存在shuffle),每个stage 的并行度取决于一个stage 最后一个算子,因为一个任务的调用是从最后一个算子向前执行的.所以一个任务的task 数主要看一个stage最后的一个rdd的分区数。这里主要用一个列子说明计算过程分区数是怎么确定的:rdd.map(…).reduceByKey(…).collect()根据上面这段逻辑可以知道 map 中主要返回的是一个mapPar
2021-02-23 15:09:32 1316
yarn 资源调度系统详解
2017-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人