码迷,mamicode.com
首页 > 其他好文 > 详细

Spark环境搭建

时间:2019-12-03 18:09:14      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:cut   页面   url   hadoop   推荐   模式   slave   使用   strong   

Spark官网和下载地址

官网
http://spark.apache.org/
spark-2.2.0源码下载链接
http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz
spark-2.2.0安装包下载连接
http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz

官方文档

进入官网:http://spark.apache.org/
官网查看编译步骤如下图所示,也可以直接访问http://spark.apache.org/docs/latest/building-spark.html
技术图片

技术图片

编译前置条件

自Spark 2.2.0起已删除了对Java 7,Python 2.6和2.6.5之前的旧Hadoop版本的支持。
从2.3.0版本开始,不再支持Scala 2.10。
从Spark 2.4.1开始不支持Scala 2.11,它将在Spark 3.0中删除。

这里以2.2.0为例子
编译环境
jdk8
Scala 2.11.8
mvn 3.5.4

由于maven中没有cdh版本的hadoop版本所以增加cloudera仓库,在spark目录下的pom.xml文件repositories下增加

 <repository>
   <id>cloudera</id>
   <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
 </repository>

设置maven内存

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

编译

mvm编译命令

./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0 -DskipTests clean package

#推荐使用
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz  -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0

第二个命令,.sh文件中默认把maven内存设置了,跳过测试也默认加上了

编译完成后文件名:

spark-$VERSION-bin-$NAME.tgz

spark-2.2.0-bin-2.6.0-cdh5.7.0.tgz

Spark Local模式环境搭建

这里由于编译比较慢,编译到一半就没进行下去,用的是官网的安装包,下载地址如下:
http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz

解压安装包

tar -zxvf spark-2.2.0-bin-hadoop2.6.tgz -C ~/app/

将spark配置到环境变量

$ vim ~/.bash_profile

export SPARK_HOME=/home/hadoop/app/spark-2.2.0-bin-hadoop2.6
export PATH=$SPARK_HOME/bin:$PATH

$ source ~/.bash_profile
$ echo $SPARK_HOME

启动local模式

$ spark-shell --master local[2]

local[2] 2是指定多少个线程,不加默认单线程

监控页面
http://192.168.175.128:4040

Spark Standalong模式环境搭建

Spark Standalong模式的架构和Hadoop HDFS/YARN类似,
1 master + n worker

修改配置文件

spark-env.sh

$ cd $SPARK_HOME/conf
$ cp spark-env.sh.template spark-env.sh
$ vim spark-env.sh

# master 主机地址
SPARK_MASTER_HOST=hadoop000
# 每个worker节点所占有的CPU核数
SPARK_WORKER_CORES=2
# 每个worker节点能够最大分配给exectors的内存大小
SPARK_WORKER_MEMORY=2g
# 每台机器上开启的worker节点数
SPARK_WORKER_INSTANCES=1

spark-config.sh

$ cd $SPARK_HOME/sbin
$ vim spark-config.sh

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_201

在sbin目录下的spark-config.sh文件下未添加JAVA_HOME的索引.

启动master

$ cd $SPARK_HOME/sbin
$ ./start-all.sh

监控页面
http://192.168.175.128:8081/

多台机器可以修改slaves配置文件
hadoop0:master
hadoop1:worker
hadoop2:worker

slaver:
hadoop2
hadoop3

start-all.sh
会在hadoop0机器上启动master进程,在slaves文件配置的所有hostname的机器上启动worker进程

启动客户端

$ cd $SPARK_HOME/bin
$ spark-shell --master spark://hadoop000:7077

启动后在监控页面可以看到 Running Executors (1)

开发环境使用local即可

简单使用

Spark WordCount统计

scala> val file = spark.sparkContext.textFile("file:///home/hadoop/data/hello.txt")
scala> val wordCounts = file.flatMap(line => line.split(",")).map((word => (word, 1))).reduceByKey(_ + _)
scala> wordCounts.collect

hello.txt中内容

hello,world,hello
hello,world
welcome

执行结果

res1: Array[(String,Int)] = Array((hello,3), (welcome,1), (world,2))

Spark环境搭建

标签:cut   页面   url   hadoop   推荐   模式   slave   使用   strong   

原文地址:https://www.cnblogs.com/yanceyy/p/11978262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!