一、MAVEN配置安装

下载的spark为source版本,需要进行build,此过程需要用到maven。

1、maven安装

从官网下载maven-3.3.9即以上版本,否则spark不兼容(Java7+),解压后在/etc/profile中添加如下编码配置;并执行: source /etc/profile

  1. export MAVEN_HOME=/software/maven
  2. export PATH=$PATH:$MAVEN_HOME/bin:$PATH

二、spark源码编译

1、从官网下载spark

下载链接:https://spark.apache.org/downloads.html 解压到指定文件夹后,在/etc/profile中添加配置编码,并执行:source /etc/profile使其生效。

#!spark
export SPARK_HOME=/software/spark-2.4.0-bin-2.7.0
export PATH=$PATH:$SPARK_HOME/bin:$PATH

image.png

2、前置要求

  1. maven版本和Java版本要求:Building Spark using Maven requires Maven 3.3.9 or newer and Java 7+。
  2. 执行:export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m

3、mvn编译方法

编译命令:(在spark目录下) ./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package 黄色部分为版本号,修改成相应版本即可。

example:
./build/mvn -Pyarn -Phadoop-2.7 -Phive -Phive-thriftserver -Dhadoop.version=2.7.0 -DskipTests clean package

4、生成部署包(推荐使用)

在源码包下找到脚本make-distribution.sh执行(spark目录下),时间约为半小时左右. 最终生成和官网下载编译好的包一样,可以直接部署。

./dev/make-distribution.sh --name 2.7.0 --tgz  -Pyarn -Phadoop-2.7 -Phive -Phive-thriftserver -Dhadoop.version=2.7.0

5、spark源码编译的坑

  1. maven环境内存要符合条件。如果用maven进行编译需要先设置 maven内存:

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

  2. 如果scala 版本为2.10 ,需要先执行:./dev/ change-scala-version.sh 2.10


    三、spake操作

    1、spark local模式搭建

    解压上面所生成的压缩包,并进入该目录。 进入spark目录中,执行: ./bin/spark-shell --master local[2] 其中2表示进程数目。

image.png2、spark standalone集群部署模式搭建

1.配置文件/conf/spark-env.sh 打开文件后,添加如下编码配置

SPARK_MASTER_HOST=master    主机名
SPARK_WORKER_CORES=2            spark应用程序可以使用的core的个数
SPARK_WORKER_MEMORY=2g        spark application可以使用的内存
SPARK_WORKER_INSTANCES=1    启动实例个数

2.进入sbin目录,执行代码: ./start-all.sh PS:注意,如果启动不成功,报错:JAVA_HOME is not set,则需要修改spark-config.sh,添加: export JAVA_HOME=/software/java。 启动成功后会显示一个端口,打开master:端口,则可以通过浏览器查看具体细节。 端口号可以再日志中查看。

image.pngimage.png