基础环境准备

Spark local模式

上传编译完成的spark安装程序到服务器上,并解压到指定目录

[root@hadoop01 soft]# tar zxvf spark-2.2.-bin-2.6.-cdh5.14.0.tgz -C /usr/local/
[root@hadoop01 soft]# cd /usr/local/
[root@hadoop01 local]# mv spark-2.2.-bin-2.6.-cdh5.14.0/ spark
[root@hadoop01 local]# cd spark/conf/

修啊改配置文件spark-env.sh.template为spark-env.sh

[root@hadoop01 conf]# mv spark-env.sh.template spark-env.sh

启动验证spark程序

[root@hadoop01 conf]# cd ../
[root@hadoop01 spark]# ./bin/spark-shell
[root@hadoop01 conf]# cd ../
[root@hadoop01 spark]# ./bin/spark-shell

退出spark命令行

scala> :quit

执行jar计算圆周率

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[] \
--executor-memory 1G \
--total-executor-cores \
/usr/local/spark/examples/jars/spark-examples_2.-2.2..jar \

spark的standAlone模式

修改配置文件spark-env.sh,添加下列内容

[root@hadoop01 conf]# vim spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1..0_201
export SPARK_MASTER_HOST=node01
export SPARK_MASTER_PORT=
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node01:9000/spark_log"

修改slaves文件,添加下列内容

[root@hadoop01 conf]# mv slaves.template slaves
[root@hadoop01 conf]# vim slaves
node01
node02
node03

修改配置文件spark-default.conf,添加下列内容

[root@hadoop01 conf]# mv spark-defaults.conf.template spark-defaults.conf
[root@hadoop01 conf]# vim spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node01:9000/spark_log
spark.eventLog.compress true

并在Hadoop的hdfs中创建spark日志目录spark_log

[root@hadoop01 conf]# hdfs dfs -ls /

分发配置好的spark程序到其它两台服务器上

[root@hadoop01 conf]# cd ../../
[root@hadoop01 conf]# scp -r spark root@node02:$PWD
[root@hadoop01 conf]# scp -r spark root@node03:$PWD

启动spark程序

[root@hadoop01 conf]# cd spark
[root@hadoop01 conf]# sbin/start-all.sh
[root@hadoop01 conf]# sbin/start-history-server.sh

spark的standAlone模式验证

[root@hadoop01 spark]# bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node01:7077 \
--executor-memory 1G \
--total-executor-cores \
/usr/local/spark/examples/jars/spark-examples_2.-2.2..jar \

spark的HA高可用模式

停止启动的spark程序

[root@hadoop01 spark]# sbin/stop-all.sh
[root@hadoop01 spark]# sbin/stop-history-server.sh

解压spark程序到指定目录,并重命名为spark-HA

[root@hadoop01 soft]# tar zxvf spark-2.2.-bin-2.6.-cdh5.14.0.tgz -C /usr/local/
[root@hadoop01 soft]# cd /usr/local/
[root@hadoop01 local]# mv spark-2.2.-bin-2.6.-cdh5.14.0/ spark-HA

修改spark配置文件spark-env.sh

[root@hadoop01 local]# cd spark-HA/conf/
[root@hadoop01 conf]# mv spark-env.sh.template spark-env.sh
[root@hadoop01 conf]# vim spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1..0_201
export SPARK_MASTER_PORT=
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node01:9000/spark_log"
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node01:2181,node02:2181,node03:2181 -Dspark.deploy.zookeeper.dir=/spark"

修改配置文件slave

[root@hadoop01 conf]# mv slaves.template slaves
[root@hadoop01 conf]# vim slaves
node01
node02
node03

修改配置文件spark-defaults.conf

[root@hadoop01 conf]# mv spark-defaults.conf.template spark-defaults.conf
[root@hadoop01 conf]# vim spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node01:9000/spark_log
spark.eventLog.compress true

在hadoop的hdfs上常见spark日志目录

[root@hadoop01 conf]# hdfs dfs -mkdir -p /spark_log

分发spark-HA程序到其他两台服务器上

启动spark高可用集群

[root@hadoop01 conf]# cd /usr/local/spark-HA/
[root@hadoop01 spark-HA]# sbin/start-all.sh
[root@hadoop01 spark-HA]# sbin/start-history-server.sh

node02服务器启动master节点

[root@hadoop01 spark-HA]# cd /usr/local/spark-HA/
[root@hadoop01 spark-HA]# sbin/start-master.sh

验证spark高可用集群

spark的HA模式下的spark的命令行

[root@hadoop01 spark-HA]# bin/spark-shell --master spark://node01:7077,node02:7077

运行jar包进行验证测试

[root@hadoop01 spark-HA]# bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node01:7077,node02:7077 \
--executor-memory 1G \
--total-executor-cores \
/usr/local/spark-HA/examples/jars/spark-examples_2.-2.2..jar \

spark的on yarn模式

小提示:如果yarn集群资源不够,我们可以在yarn-site.xml当中添加以下两个配置,然后重启yarn集群,跳过yarn集群资源的检查

[root@hadoop01 conf]# scp -r spark-HA root@node02:$PWD
[root@hadoop01 conf]# scp -r spark-HA root@node03:$PWD
<property>

<name> yarn.nodemanager.pmem-check-enabled</name

<value>false</value>

</property>

<property>

<name> yarn.nodemanager.vmem-check-enabled</name

<value>false</value>

</property>

修改配置文件spark-env.sh

HADOOP_CONF_DIR=/usr/local/hadoop-HA/etc/hadoop
YARN_CONF_DIR=/usr/local/hadoop-HA/etc/hadoop

提交任务到yarn集群上进行验证

[root@hadoop01 spark-HA]# bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
/usr/local/spark-HA/examples/jars/spark-examples_2.-2.2..jar \

spark搭建部署的更多相关文章

  1. Spark集群基于Zookeeper的HA搭建部署笔记(转)

    原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...

  2. spark1.6.1 on yarn搭建部署

    注:本文是建立在hadoop已经搭建完成的基础上进行的. Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写.该框架对资源调度,任务的提交.执行和跟踪,节点间的通 ...

  3. 伪分布式Spark + Hive on Spark搭建

    Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和 ...

  4. Spark 安装部署与快速上手

    Spark 介绍 核心概念 Spark 是 UC Berkeley AMP lab 开发的一个集群计算的框架,类似于 Hadoop,但有很多的区别. 最大的优化是让计算任务的中间结果可以存储在内存中, ...

  5. Spark启动时的master参数以及Spark的部署方式

    我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下: conf = SparkConf().setAppName(appName).setMaster(m ...

  6. 【待补充】Spark 集群模式 && Spark Job 部署模式

    0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...

  7. 云服务器+tomcat+mysql+web项目搭建部署

    云服务器+tomcat+mysql+web项目搭建部署 1.老样子,开头墨迹两句. 作为我的第二篇文章,有很多感慨,第一篇人气好低啊,有点小丧气,不过相信我还是经验少,分享的都是浅显的,所以大家可能不 ...

  8. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  9. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

随机推荐

  1. 不用bootstrap,只用CSS创建网格布局

    本文译自[http://j4n.co/blog/Creating-your-own-css-grid-system],英语好的,可直接查看原网页,不需要FQ. 翻译拿不准的地方会有英文原文,方便大家理 ...

  2. HDU 2682 Tree(Kruskal算法求解MST)

    题目: There are N (2<=N<=600) cities,each has a value of happiness,we consider two cities A and ...

  3. [转]File uploads in ASP.NET Core

    本文转自:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads By Steve Smith ASP.NET MVC ...

  4. MySQL5:触发器

    什么是触发器 MySQL的触发器(trigger)和存储过程一样,都是嵌入到MySQL中的 一段程序.触发器是由事件来触发某个操作,这些事件包括INSERT.UPDATE和DELETE语句.如果定义了 ...

  5. SpringBoot(一)初遇

    环境: IDEA 2018.1.3 , jdk 1.8 , maven 3.3.9 零 第一次接触springboot, 如何学习比较困惑, 思前想后最后决定从文档来学习, 以下为学习中的参考资料: ...

  6. js 数组删除元素,并获得真实长度

    前言:js数组删除一般采用数组的 splice 方法和 delete 方法,但是采用 delete 方法后直接数组.kength 来获取数组长度是获取不了真实长度的,下面详细讲解一下. 一.splic ...

  7. 【5】Builder模式(构建者模式)

    一.引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成.例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象, ...

  8. MySQL的数据控制语言DCL

    我们使用DDL的"CREATE USER"语句创建用户,新的SQL用户不允许访问属于其他SQL用户的表,也不能立即创建自己的表,它必须被授权.可以授予的权限包括以下几组: 1.列权 ...

  9. spring AOP 动态代理和静态代理以及事务

    AOP(Aspect Oriented Programming),即面向切面编程 AOP技术,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装 ...

  10. PHP中常用的魔术方法

    我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__autoload(), ...