基础环境准备

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. Django请求响应对象

    请求与响应对象 HttpRequest HttpRequest存储了客户请求的相关参数和一些查询方法. path 请求页面的全路径,不包括域名-例如, "/hello/". met ...

  2. 源码速读及点睛:HashMap

    Java 8 HashMap的分离链表 从Java 2到Java 1.7,HashMap在分离链表上的改变并不多,他们的算法基本上是相同的.如果我们假设对象的Hash值服从平均分布,那么获取一个对象需 ...

  3. MYSQL安装时解决要输入current root password的解决方法

    在装MYSQL的时候发现要输入current root password不记得以前在电脑里装过(你的系统曾经装过MYSQL在重装就会要求输入原来设定的密码,如果是第一次安装就不会出现),在网上苦苦搜寻 ...

  4. 十八、curator recipes之DistributedDelayQueue

    简介 curator实现了类似DelayQueue的分布式延迟队列 官方文档:http://curator.apache.org/curator-recipes/distributed-delay-q ...

  5. SpringBoot(七) Working with data: SQL

    一.JdbcTemplate 二.Spring-data-jpa 实体类 继承JpaRepository<T,ID> 的接口,来访问数据库 30.3 JPA and Spring Data ...

  6. java利器------反射机制

    java反射的概念:java的反射机制是指在运行状态下,对于一个类来说,可以得到这个类的所有方法和属性.对于一个对象来说,可以调用这个对象的人和方法和属性. 反射机制首先会拿到该类的字节码文件(Cla ...

  7. gRPC 的route_guide例子

      本文的例子代码在: https://github.com/grpc/grpc-go/tree/master/examples/route_guide 功能就类似目前LBS一样,在每个位置上报一些文 ...

  8. HTTP协议之内容协商

    一个URL常常需要代表若干不同的资源.例如那种需要以多种语言提供其内容的网站站点.如果某个站点有说法语的和说英语的两种用户,它可能想用这两种语言提供网站站点信息.理想情况下,服务器应当向英语用户发送英 ...

  9. Algorithm——Add Two Numbers(补上周)

    一.question You are given two non-empty linked lists representing two non-negative integers. The digi ...

  10. 【代码笔记】iOS-自定义选择框

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> #import "CYCustomMultiSe ...