本篇文章为大家展示了Spark指的是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Spark是UC Berkeley AMP lab所开源的类HadoopMapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
一、什么是 Spark
Spark 是基于内存计算大数据分析引擎,提高了在大数据环境下数据处理的实时性。Spark 仅仅只涉及到数据的计算,没有涉及到数据的存储。
二、Spark HA 高可用部署
*Spark HA 解决 Master 单点故障的两种方案:
1.基于文件系统的单点恢复(主要用于开发或测试环境)
2.基于 zookeeper 的 Standby Masters(用于生产模式)
*基于 zookeeper 的 Spark HA 高可用集群部署
(1)im spark-env.sh
注释掉 export SPARK_MASTER_HOST=hdp-node-01
(2)在 spark-env.sh 添加 SPARK_DAEMON_JAVA_OPTS,内容如下:
spark.deploy.recoveryMode:
恢复模式(Master 重新启动的模式)有三种:
(1)ZooKeeper
(2) FileSystem
(3)NONE
spark.deploy.zookeeper.url:ZooKeeper 的 Server 地址
spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括 Worker,Driver 和 Application。
注意:
在普通模式下启动 spark 集群,只需要在主机上面执行 start-all.sh 就可以了。在高可用模式下启动 spark 集群,先需要在任意一台节点上启动 start-all.sh命令。然后在另外一台节点上单独启动 master。命令 start-master.sh。
三、Spark-Shell
读取本地文件
1.运行 spark-shell --master local[N](N 表线程数)
2.编写 scala 代码
sc.textFile("file:///root///words.txt")
.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
读取 HDFS 上数据
1.整合 spark 和 HDFS,修改配置文件 spark-env.sh
export HADOOP_CONF_DIR=/opt/bigdata/hadoop-2.6.4/etc/hadoop
2.启动 hdfs,然后重启 spark 集群
3.向 hdfs 上传个文件
4.在 spark shell 中用 scala 语言编写 spark 程序指定具体的 master 地址
1.执行启动命令:
spark-shell \
--master spark://hdp-node-01:7077 \
--executor-memory 1g \
--total-executor-cores 2
若没指定 master 地址则默认本地模式
上述内容就是Spark指的是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。