
公司项目总结
文章平均质量分 81
Dreammmming Time
人啊,毕业时意气风发,进入社会后就逐渐钝化了,因此希望通过知识分享和新知识学习,在大数据领域彼此勉励,共同成长,拒绝被环境束缚。
展开
-
Spark之基于Netty的网络通信架构
简述Spark 不知道多少版之后,开始使用Netty作为其底层的网络通信库,忽略Netty其它的优势,最主要的是Spark应用会读写本地文件,网络传输文件,因此如果能够在有关文件的操作中利用“零拷贝”的特性,肯定会大大提高集群性能。而Netty是一套基于JAVA NIO的网络通信框架,因此能够利用mmap技术和transferTo(…)方法完成系统层级的“零拷贝”能力;同时也基于JAVA NIO ByteBuffer类定义了一系列ByteBuf家庭类,为开发者提供了代码层“零拷贝”概念的缓存区对象,通过这原创 2020-12-13 20:51:35 · 1131 阅读 · 0 评论 -
Spark on Kubernetes官方实现及基于K8S的Operator设计模式
简述Cloud云服务日益普遍,其后的支撑但是容器化的集群,所谓容器化(Containerization)就是将各种系统或用户服务,通过熟知的容器编排(Orchestration)工具,如docker、kubernetes等,部署运行,而不是直接与服务器直接打交道,容器化的服务大大减轻了服务部署、运维及资源控制等的繁琐程度,同时也使服务更加的健壮。而Spark 2.3之前的版本,如果想要使用容器化的部署方式,只能通过mesos、yarn,但还不支持在Kubenetes集群上部署,至于他们之间的差异,或是优原创 2020-12-03 19:14:52 · 1771 阅读 · 0 评论 -
基于Atomix(Copycat 2.x)实现基于Raft协议的HA调度系统
Copycat,<div id="page_end_html"> <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script></div>原创 2020-08-27 18:52:41 · 1348 阅读 · 0 评论 -
Spark之SparkEnv实例的构建
SparkEnvSparkEnv会在Driver和Executor角色创建时,创建该类的一个实例,为当前结点的正常工作提供必要的功能,例如管理交互数据在本地的缓存、shuffle文件、跟踪Map任务的输出等。它实例化了Spark实例运行时所需要的各类对象,(不论是在master还是worker端),用户代码里则可以全局变量的方式来获取SparkEnv实例,因此它可以被多个线程所共享。可以有多种方式来获取SparkEnv的实例,比如如果创建了SparkContext时,可以直接调用如下的语句来获取此变量。原创 2020-06-28 16:02:20 · 588 阅读 · 0 评论 -
Spark之Stage的生成及任务的执行
每一个Spark应用都会创建一个sparksession,用来跟Spark集群交互,如果提交任务的模式为cluster模式,则Driver进程会被随机在某个worker结点上启动,然后真正执行用户提供的入口类,或是使用Spark内置的入口类,同时在Driver中会创建clientmasterworkerdriverdirverexecutorRequestSubmitDriverLaunchDrivernew DriverRunner["deploy.worker.DriverWrapper"]Proce原创 2020-06-18 16:27:36 · 2541 阅读 · 2 评论 -
Spark集群创建之核心角色的创建过程
基本概念RpcEnv不论Driver进程、Master进程、Worker进程等,但凡是在同一个Spark进程环境中生成的、需要消息交互的对象(RpcEndpoint),都共用一个RpcEnv实例,以便使用统一的环境信息来收发RPC消息,同时这些RpcEndpoint必须显示调用setupEndpoint(...)方法完成注册。RpcEnv类的核心定义描述及相关代码如下:传递从远程RpcEndpointRef收到的消息到指定的已经注册在当前环境的RpcEndpoint(在下一小节分析)查找已经在当原创 2020-06-03 19:24:39 · 293 阅读 · 0 评论 -
spark-submit命令行提交Spark任务流程解读
spark-submit方式提交应用启动脚本文件# 命令行提交Spark应用样例:#./bin/spark-submit \# --class com.imooc.spark.Test.TestOfSparkContext2 \# --conf spark.master spark://localhost:7077 \# --master local[2] \# /home/hadoop/data/test-jar/sql-1.0.jar arg1 arg2#if [ -z "${原创 2020-06-01 21:23:53 · 2547 阅读 · 0 评论 -
GoogleCloud Spark Operator Chart(未完待续)
Spark Application CRDGoogleCloud Spark Operator,基于Spark官方Kubernetes资源管理器的实现,实现了通过K8S接口提交Spark应用的功能。下面列出了一些官方Operator Chart中核心yaml文件的定义,可能与最新版本的文件有些不同,请读者自行更新。sparkapps-crd.yaml通过Opertaor方式提交Spark应...原创 2020-01-07 11:03:57 · 414 阅读 · 0 评论 -
轻量、高可用的任务调度系统实之背包问题
绪言最近为了能够在机器学习平台支持公司内的各类应用任务,如Spark类,Python类,R类等的程序,共享一套集群资源,并最大化资源利用率,一个轻量、高可用的任务调度系统必不可少,因此本人基于Netty/Raft协议,实现了一个初具功能具的系统,请参考本人的github项目,代码中可以看到其它优秀开源项目的身影,如有抄袭嫌疑,还请多多指正。一个功能完善的调度系统,可以参考Alibaba自研的、...原创 2019-12-27 19:19:28 · 650 阅读 · 1 评论