关键词:
[TOC]spark单机安装部署
1.安装scala
解压:tar -zxvf soft/scala-2.10.5.tgz -C app/
重命名:mv scala-2.10.5/ scala
配置到环境变量:
export SCALA_HOME=/home/uplooking/app/scala
export PATH=$PATH:$SCALA_HOME/bin
# 虽然spark本身自带scala,但还是建议安装
2.安装单机版spark
解压:tar -zxvf soft/spark-1.6.2-bin-hadoop2.6.tgz -C app/
重命名:mv spark-1.6.2-bin-hadoop2.6/ spark
配置到环境变量:
export SPARK_HOME=/home/uplooking/app/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
测试:
运行一个简单的spark程序
spark-shell
sc.textFile("./hello").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect.foreach(println)
完全分布式安装
修改spark-env.sh
1、cd /home/uplooking/app/spark/conf
2、cp spark-env.sh.template spark-env.sh
3、vi spark-env.sh
export JAVA_HOME=/opt/jdk
export SCALA_HOME=/home/uplooking/app/scala
export SPARK_MASTER_IP=uplooking01
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/home/uplooking/app/hadoop/etc/hadoop
修改slaves配置文件
添加两行记录
uplooking02
uplooking03
部署到uplooking02和uplooking03这两台机器上(这两台机器需要提前安装scala)
scp -r /home/uplooking/app/scala [email protected]:/home/uplooking/app
scp -r /home/uplooking/app/scala [email protected]:/home/uplooking/app
----
scp -r /home/uplooking/app/spark [email protected]:/home/uplooking/app
scp -r /home/uplooking/app/spark [email protected]:/home/uplooking/app
---在uplooking02和uplooking03上加载好环境变量,需要source生效
scp /home/uplooking/.bash_profile [email protected]:/home/uplooking
scp /home/uplooking/.bash_profile [email protected]:/home/uplooking
启动
修改事宜
为了避免和hadoop中的start/stop-all.sh脚本发生冲突,将spark/sbin/start/stop-all.sh重命名
mv start-all.sh start-spark-all.sh
mv stop-all.sh stop-spark-all.sh
启动
sbin/start-spark-all.sh
会在我们配置的主节点uplooking01上启动一个进程Master
会在我们配置的从节点uplooking02上启动一个进程Worker
会在我们配置的从节点uplooking03上启动一个进程Worker
简单的验证
启动spark-shell
bin/spark-shell
scala> sc.textFile("hdfs://ns1/data/hello").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect.foreach(println)
我们发现spark非常快速的执行了这个程序,计算出我们想要的结果
一个端口:8080/4040
8080-->spark集群的访问端口,类似于hadoop中的50070和8088的综合
4040-->sparkUI的访问地址
7077-->hadoop中的9000端口
基于zookeeper的HA配置
最好在集群停止的时候来做
第一件事
注释掉spark-env.sh中两行内容
#export SPARK_MASTER_IP=uplooking01
#export SPARK_MASTER_PORT=7077
第二件事
在spark-env.sh中加一行内容
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=uplooking01:2181,uplooking02:2181,uplooking03:2181 -Dspark.deploy.zookeeper.dir=/spark"
解释
spark.deploy.recoveryMode设置成 ZOOKEEPER
spark.deploy.zookeeper.urlZooKeeper URL
spark.deploy.zookeeper.dir ZooKeeper 保存恢复状态的目录,缺省为 /spark
重启集群
在任何一台spark节点上启动start-spark-all.sh
手动在集群中其他从节点上再启动master进程:sbin/start-master.sh -->在uplooking02
通过浏览器方法 uplooking01:8080 /uplooking02:8080-->Status: STANDBY Status: ALIVE
验证HA,只需要手动停掉master上spark进程Master,等一会slave01上的进程Master状态会从STANDBY编程ALIVE
# 注意,如果在uplooking02上启动,此时uplooking02也会是master,而uplooking01则都不是,
# 因为配置文件中并没有指定master,只指定了slave
# spark-start-all.sh也包括了start-master.sh的操作,所以才会在该台机器上也启动master.
Spark源码编译
安装好maven后,并且配置好本地的spark仓库(不然编译时依赖从网上下载会很慢),
然后就可以在spark源码目录执行下面的命令:
mvn -Pyarn -Dhadoop.version=2.6.4 -Dyarn.version=2.6.4 -DskipTests clean package
编译成功后输出如下:
......
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Spark Project Parent POM ........................... SUCCESS [ 3.617 s]
[INFO] Spark Project Test Tags ............................ SUCCESS [ 17.419 s]
[INFO] Spark Project Launcher ............................. SUCCESS [ 12.102 s]
[INFO] Spark Project Networking ........................... SUCCESS [ 11.878 s]
[INFO] Spark Project Shuffle Streaming Service ............ SUCCESS [ 7.324 s]
[INFO] Spark Project Unsafe ............................... SUCCESS [ 16.326 s]
[INFO] Spark Project Core ................................. SUCCESS [04:31 min]
[INFO] Spark Project Bagel ................................ SUCCESS [ 11.671 s]
[INFO] Spark Project GraphX ............................... SUCCESS [ 55.420 s]
[INFO] Spark Project Streaming ............................ SUCCESS [02:03 min]
[INFO] Spark Project Catalyst ............................. SUCCESS [02:40 min]
[INFO] Spark Project SQL .................................. SUCCESS [03:38 min]
[INFO] Spark Project ML Library ........................... SUCCESS [03:56 min]
[INFO] Spark Project Tools ................................ SUCCESS [ 15.726 s]
[INFO] Spark Project Hive ................................. SUCCESS [02:30 min]
[INFO] Spark Project Docker Integration Tests ............. SUCCESS [ 11.961 s]
[INFO] Spark Project REPL ................................. SUCCESS [ 42.913 s]
[INFO] Spark Project YARN Shuffle Service ................. SUCCESS [ 8.391 s]
[INFO] Spark Project YARN ................................. SUCCESS [ 42.013 s]
[INFO] Spark Project Assembly ............................. SUCCESS [02:06 min]
[INFO] Spark Project External Twitter ..................... SUCCESS [ 19.155 s]
[INFO] Spark Project External Flume Sink .................. SUCCESS [ 22.164 s]
[INFO] Spark Project External Flume ....................... SUCCESS [ 26.228 s]
[INFO] Spark Project External Flume Assembly .............. SUCCESS [ 3.838 s]
[INFO] Spark Project External MQTT ........................ SUCCESS [ 33.132 s]
[INFO] Spark Project External MQTT Assembly ............... SUCCESS [ 7.937 s]
[INFO] Spark Project External ZeroMQ ...................... SUCCESS [ 17.900 s]
[INFO] Spark Project External Kafka ....................... SUCCESS [ 37.597 s]
[INFO] Spark Project Examples ............................. SUCCESS [02:39 min]
[INFO] Spark Project External Kafka Assembly .............. SUCCESS [ 10.556 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31:22 min
[INFO] Finished at: 2018-04-24T18:33:58+08:00
[INFO] Final Memory: 89M/1440M
[INFO] ------------------------------------------------------------------------
然后就可以在下面的目录中看到编译成功的文件:
[[email protected] scala-2.10]$ pwd
/home/uplooking/compile/spark-1.6.2/assembly/target/scala-2.10
[[email protected] scala-2.10]$ ls -lh
总用量 135M
-rw-rw-r-- 1 uplooking uplooking 135M 4月 24 18:28 spark-assembly-1.6.2-hadoop2.6.4.jar
在已经安装的spark的lib目录下也可以看到该文件:
[[email protected] lib]$ ls -lh
总用量 291M
-rw-r--r-- 1 uplooking uplooking 332K 6月 22 2016 datanucleus-api-jdo-3.2.6.jar
-rw-r--r-- 1 uplooking uplooking 1.9M 6月 22 2016 datanucleus-core-3.2.10.jar
-rw-r--r-- 1 uplooking uplooking 1.8M 6月 22 2016 datanucleus-rdbms-3.2.9.jar
-rw-r--r-- 1 uplooking uplooking 6.6M 6月 22 2016 spark-1.6.2-yarn-shuffle.jar
-rw-r--r-- 1 uplooking uplooking 173M 6月 22 2016 spark-assembly-1.6.2-hadoop2.6.0.jar
-rw-r--r-- 1 uplooking uplooking 108M 6月 22 2016 spark-examples-1.6.2-hadoop2.6.0.jar
spark知识整理(未完待续)
一、Spark支持的安装模式:1、伪分布式(一台机器即可)2、全分布式(至少需要3台机器)二、Spark的安装配置1、准备工作安装Linux和JDK1.8配置Linux:关闭防火墙、主机名、免密码登陆2、安装部署Spark解压:tarz-xvf spark-2.1.0-bin-... 查看详情
spark-unit1-spark概述与安装部署
....spark没有存储,但他可以继承HDFS。 Spark启用的是内存分布式数据集,而Scala语言可以轻松的处理分布式数据集,Scala语言可以说是为Spark而生的,而Spark的出现推动了Scala语言的发展。 二、Spark特点 1.速度快 磁... 查看详情
2022年spark基础学习笔记
...03:搭建Spark单机版环境Spark基础学习笔记04:搭建Spark伪分布式环境Spark基础学习笔记05:搭建SparkStand 查看详情
spark笔记整理:sparkwc开发与应用部署(代码片段)
[TOC]SparkWordCount开发创建的是maven工程,使用的依赖如下:<dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.10.5</version></depe 查看详情
spark单机伪分布式环境搭建完全分布式环境搭建spark-on-yarn模式搭建
...CALA_HOME/bin刷新使文件生效:source/etc/profile搭建单机伪分布式环境(单机)spark单机伪分布是在一台机器上既有Master,又有Worker进程。spark单机伪分布式环境可以在hadoop伪分布式的基础上进行搭建上传安装包解压并... 查看详情
01-spark简介spark部署方式spark运行方式(代码片段)
...thon、R、Scala.2、功能 SparkCore: ①将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。 ②是Spark核心编程,类似Hado... 查看详情
spark基础学习笔记02:搭建spark环境(代码片段)
...用转化操作filter()例3、调用first()行动操作二、搭建Spark伪分布式环境(一)搭建伪分布式Hadoop1、利用hw_win7实例上的SecureCRT登录ie 查看详情
一键部署spark
前言Spark简介Spark是整个BDAS的核心组件,是一个大数据分布式编程框架,不仅实现了MapReduce的算子map函数和reduce函数及计算模型,还提供更为丰富的算子,如filter、join、groupByKey等。是一个用来实现快速而同用的集群计算的平台... 查看详情
学习笔记--spark(代码片段)
参考来源:http://www.yiibai.com/spark/概述ApacheSpark是一个集群计算设计的快速计算。它是建立在HadoopMapReduce之上,它扩展了MapReduce模式,有效地使用更多类型的计算,其中包括交互式查询和流处理。Spark的主要特征是其内存集群计算... 查看详情
spark部署在yarn集群(代码片段)
Spark部署在Yarn集群上传及解压单机部署配置SparkonYarn实现分布式配置历史服务配置SparkJar包路径测试Spark博大精深,不是一朝一日能搞明白的。。。以后的稿子可能不会写的灰常详细了,相信需要参考的读者懂的都懂。。... 查看详情
spark部署在yarn集群(代码片段)
Spark部署在Yarn集群上传及解压单机部署配置SparkonYarn实现分布式配置历史服务配置SparkJar包路径测试Spark博大精深,不是一朝一日能搞明白的。。。以后的稿子可能不会写的灰常详细了,相信需要参考的读者懂的都懂。。... 查看详情
spark集群(单机)环境部署(代码片段)
从以下几个步骤来看如何部署Spark集群:下载---配置文件---启动---查看---提交任务1.下载Spark下载地址:http://spark.apache.org/downloads.html下载后,存放到目录下:解压2.配置文件配置spark-env.sh文件主要配置以下几项JAVA_H... 查看详情
大数据学习系列之七-----hadoop+spark+zookeeper+hbase+hive集
...习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式。至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了。。。整个的集群搭建是在公司的... 查看详情
spark学习笔记(代码片段)
...存中进行计算,因此速度更快。原先需要多种不同的分布式平台的场景,包括批处理 查看详情
centos7搭建单机spark分布式集群(代码片段)
(目录)1.JDKHadoopSpark安装与配置1.1解压包官网下载jdk、hadoop、sprak对应的包,注意版本tar-zxvfjdk-8u241-linux-x64.tar.gztar-zxvfhadoop-3.2.2.tar.gz tar-zxvfspark-3.2.0-bin-hadoop3.2.taz1.2配置环境变量添加配置,注意文件路径以及文件名vim/root/.bash 查看详情
学习笔记spark——sparksql应用——sparkdataframe基础操作(代码片段)
...、SparkDataFrame基础操作2.1、DataFrameDataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表。数据集的每一列都带有名称和类型,对于数据的内部结构又很强的描述性。RDD是分布... 查看详情
如何在具有单节点(CentOS)Yarn集群的单机(CentOS)上安装spark
】如何在具有单节点(CentOS)Yarn集群的单机(CentOS)上安装spark【英文标题】:Howtoinstallsparkonasinglemachine(CentOS)whichhassinglenode(CentOS)Yarncluster【发布时间】:2015-03-1901:36:17【问题描述】:作为一个hadoop/Spark初学者,我已经按照websit... 查看详情
spark新手入门(单机模式)——scala环境准备
主要包括以下三部分,本文为第一部分:一.Scala环境准备二.Hadoop集群(伪分布模式)安装查看三.Spark集群(standalone模式)安装因Spark任务大多由Scala编写,因此,首先需要准备Scala环境。注:楼主实验环境为macosScala环境准备下载JDK1.8... 查看详情