- 博客(16)
- 收藏
- 关注
原创 部署Spark History Server到K8s
Spark History Server running on k8sSpark History Server(SHS)是一个无状态服务,只要eventlog没有丢失,SHS重启或者切换是不会受到影响的。当然当我们开启了SHS的磁盘缓存的时候,如果SHS换了node启动,缓存可能就会丢失,但是SHS可以根据eventlog重新生成缓存,因此我们可以认为他是一个无状态服务。这样的服务在K8s上可以很容易的进行部署,本文将介绍如何把SHS部署到8s上,分享一下可能遇到的问题。SHS image准备Spar
2022-02-25 15:26:16
1877
2
原创 Spark on K8s -- statefulset
我们知道现在已经release的spark版本中,spark on K8s的实现,是将driver和executor作为pod跑在K8s中,但是目前spark已经实现了将executor作为statefulsets跑在K8s中,只不过还处于开发阶段,有一些细节还在完善中。但是博主已经在自己的环境中尝试过了,已经可以成功的运行一个spark application,相信这个功能应该能很快上线。本文这里就针对这个功能的实现做一些介绍。主要参考链接:[SPARK-36058][K8S]: https://git
2022-02-18 18:32:14
1516
原创 JVM Shutdown Hook详解
什么是JVM Shutdown HookShutdown Hook是一种比较特殊的结构,一般用于在JVM关闭之前,需要执行的一些操作的时候。常见的,比如说你的程序退出时需要做一些清理工作的时候,就可以考虑使用Shutdown Hook。但是如果你的JVM是非正常退出的,比如接收了SIGKILL,这个时候就不能保证shutdown hook能够正常执行。如何使用Shutdown HookJava中其实已经提供了相应的接口来实现,使用起来也非常方便。以下给出几个简单的例子:public class Sh
2021-05-13 18:47:58
4010
原创 Livy REST API使用教程
Livy概述用过Spark的朋友对Livy一定不陌生,Livy是Apache Spark下的一个REST服务,通过Livy,你只要可以发送Http请求,就可以提交Spark任务。Livy在很多Spark数据平台上都作为一个提交任务的重要工具,你可以不知道Livy是怎么工作的,但是你不能不知道Livy是如何使用的。这里我们重点介绍下如何使用Livy的REST API来提交Spark任务,当然首先你得对Spark submit有一定的了解,不然就先移步Spark submit wiki。Livy交互式的任务
2020-10-21 13:27:17
2177
原创 HDFS的扩展属性(Extended Attribute)使用详解
HDFS的扩展属性概述扩展属性(Extended attribute)允许对文件添加与之相关的额外的元数据。和系统层级的元数据(文件访问权限,修改时间等)不同,扩展属性是被应用添加存储的,可以是文件的额外描述。HDFS的扩展属性,是引申自linux文件系统的扩展属性,是一种name-value的存储结构,name是string类型,value是binary。在HDFS中,扩展属性的name需要用namespace来做前缀,例如"user.encodingType",一个文件可以有多个扩展属性。HDFS的
2020-07-10 17:00:33
1775
1
原创 Spark History Server性能改进(一)-- 应用列表
Spark History Server的主页Spark History Server(SHS) 主页展示了一定时间内(spark.history.fs.cleaner.maxAge, default 7d)的所有的application列表,包含了applicationId, name, attemptId, start time, end time, duration, user, eventlog下载链接。SHS如何生成app列表SHS是基于event log来生成application li
2020-07-09 20:00:24
999
1
原创 Spark调优常用配置参数
最近看到一篇不错的关于Spark内存调优的blog,分享一下:https://idk.dev/best-practices-for-successfully-managing-memory-for-apache-spark-applications-on-amazon-emr/这篇blog主要提出了几种Spark内存调优方式(基于的是Amazon EMR总结的,但是我觉得通用性还是很强),的确...
2020-03-30 15:22:34
948
1
原创 Spark speculation(推测执行)详解
为什么需要speculation我们都知道,Spark job中,一个stage什么时候完成,取决于stage下最后一个task的完成时间。task的完成时间也被很多因素影响,比如partition的分配,executor的资源使用情况,host的运行状态,集群网络等等。很多情况下因为运行环境导致的task跑的过慢,让task可以重新跑起来是可以缓解这个问题的,因此就Spark就启用了specu...
2020-03-12 21:15:11
5982
原创 远程连接Windows Docker之SSH免密登录
前言上一篇我们讲到如何利用dockertls来进行Windows docker的远程连接,这一篇就来介绍下,利用SSH来进行Windows docker container的远程登录连接。SSH一般是应用在Linux的一种远程连接,在Linux Docker下也是一个远程连接container的非常通用的方式,而SSH和Windows嘛,总是让人觉得很不搭,所以网上基本上搜不到SSH远程连接方式...
2020-03-11 21:40:53
3065
原创 远程连接Windows Docker之dockertls
前言曾经需要完成一个SSH到Windows docker container里的需求(这个需求听上去就很神奇有木有),就对Windows docker研究了一段时间,当时查阅了很多资料,感觉没有看到很系统总结的文章,所以决定在这里自己总结下。先后尝试了两种远程连接到Windows docker的方法,一种是通过dockertls远程连接到你要连接的docker host(docker daemo...
2020-03-10 20:19:13
2064
原创 Spark对于Yarn priority的支持源码详解
Yarn的调度器 Priority在Yarn中的使用 SparkOnYarn支持priority 参考 Yarn的调度器在Yarn中,提供了Capacity scheduler和Fair scheduler,它们都支持priority的。这里我们简单介绍下概念,不做过多的描述。Capacity SchedulerCapacity scheuler设计的目的是为了让Hadoop上的ap...
2020-03-09 21:04:31
2877
原创 Spark调优工具--Sparklens详解
前言 Sparklens如何使用 Sparklens生成的报告 参考 前言Sparklens是一个可以帮助你了解你的Spark job效率的开源工具。Spark是个近些年来非常受欢迎的基于内存并行计算框架架,它有丰富的API支持,还支持 Spark SQL,MLlib,GraphX和Spark Streaming。在提交Spark Job的时候,我们会需要设置一些config, 虽然这极...
2020-03-07 13:56:45
3226
原创 Spark History Server和Event Log详解
这篇文章会overall的介绍一下Spark History Server的实现原理。Spark History Server(以下简称SHS)是一个用来debug 你的Spark applications的非常有用的工具。我相信认熟悉Spark的对它都并不陌生。SHS是根据通过持久化application的运行过程中的所有events,通常是将定义的event写到一个HDFS的文件,这个文件就叫...
2020-03-03 16:20:47
4045
原创 Windows Docker Benchmark
本篇文章就是来分享一下我测试的Docker在Windows上的benchmark。结论话不多说,直接上结论。Docker在Windows上的网络性能较差,这原因主要还是因为Windows docker是基于Hyper-V的,类似的还有在Windows上装VM,具体原因不在这里详细讨论了。测试环境Tool: NTttcp, 和一个自己写的Disk测试工具 Host System: Wind...
2020-03-01 14:57:11
646
原创 RPC典型框架
RPC(Remote Procedure Communication,RPC) 是一种常见的分布式网络通信协议,跨越了传输层和应用层,使得用户调用一个远程函数就像调用本地函数一样,用户不需要关心网络通信的细节,简化了用户的开发成本。典型的应用就包括Hadoop。RPC一般采用的是Client&Server模型,一个典型的RPC框架包括:通信模块:在服务器和客户端实现请求应答协议。一般分...
2020-03-01 13:55:57
603
原创 Docker on Windows VS Linux
Docker on Linux VS WindowsDocker的安装Docker 可以被安装在win10或者windows server2016及更高版本,具体安装方法可参考:https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon可能问题...
2020-03-01 13:43:41
876
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人