开发者学堂课程【大数据实时计算框架 Spark 快速入门:Standalone+ZooKeeper 高可用部署_1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/100/detail/1655
Standalone+ZooKeeper 高可用部署_1
目录
一、内容介绍
二、搭建集群
一、内容介绍
如果想把数据生成 RD1,把 RD1 进行 persist 持久化处理,在生成 RD1 的时候,需要把 ATFL 里面的数据读过来进行计算,假设 RD1 生成 RD2count(),然后来从头执行,假设数据源是 HDFS 里面的一个 T 文件,再假设 RAM 里面内存为 512G,其内存不能加载 HDFS 文件,但是在 HDFS 里面有多个 block 块,HDFS 加载 block 块进来,生成 RD1 的一部分。
在生成 RD1之前,在里面运用 persist 持久化,这时候需要去看持久化的缓存策略。到了 RD2这部分的时候,就有一部分数据已经算出了结果,内存里面还保留着一些 RD1的数据,再读取下一批次的文件,读完内存里面去计算出 RD1,进行持久化。
如果此时内存还放得下,就再往内存里面存。如果装不下,新的这一批次的数据就会放在 RD2里面,以此类推。
当 RD2已经 count 出结果,如果有一个 RD2”来自 RD1, RD2”也使用count(),RD1缓存的数据生成 RD2。 RD2”一部分从内存来,一部分从本地磁盘来。
内存大于数据源的量最好,这样最快。如果不大于也没关系,相当于对它进行降级。
二、搭建集群
打开 node21、node22、node23、node24,并且都点击”开启此虚拟机”,在datanode 中放置 spark。Conf 下面有一个 spark-env。
这里准备一个脚本。
Class 指运行哪一类的幂函数,master 指的是运行模式是什么,local 指的是本地模式、单机模式,[]表示用几个线程来模拟这个机身,1则为单线程,2就是用本地两个线程来模拟机身,*则为本机所有的线程数量。
Jar 为执行哪一个jar包,100是 spark 需要的参数。Spark 参数越大,π 估算得就越准。