文章目录
  1. 1. 预备条件
    1. 1.1. 安装jdk,scala
    2. 1.2. IDEA搭建安装
    3. 1.3. 配置ssh localhost
    4. 1.4. 安装hadoop
  2. 2. spark编译环境配置
    1. 2.1. 使用Maven编译源码
      1. 2.1.1. 1. 下载spark源码
      2. 2.1.2. 2. 设置maven内存限制
      3. 2.1.3. 3. 编译源码
    2. 2.2. 使用IDEA搭建源码编译与阅读环境
      1. 2.2.1. 1. IntelliJ IDEA 安装 Scala 插件
      2. 2.2.2. 2. 导入spark项目
      3. 2.2.3. 3. 构建spark项目
  3. 3. 运行spark
    1. 3.1. 设置环境变量
    2. 3.2. 运行测试应用
    3. 3.3. 交互式scala shell
    4. 3.4. 运行与关闭集群
    5. 3.5. 修改源码后重新编译即可

本文的目的是介绍spark源码环境搭建

预备条件

安装jdk,scala

参考安装jdk,scala

IDEA搭建安装

如何在 Ubuntu Linux 上安装 IntelliJ IDEA

配置ssh localhost

参考配置ssh localhost

安装hadoop

参考安装hadoop

spark编译环境配置

使用Maven编译源码

unutu上安装maven:sudo apt-get install maven

1. 下载spark源码

访问spark下载页,选择下载Source Code,如下图所示。下载完成后解压缩下载好的资源包。

2. 设置maven内存限制

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

3. 编译源码

在spark源码目录下执行如下指令:
./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package

编译完成后的结果如下图所示:

使用IDEA搭建源码编译与阅读环境

1. IntelliJ IDEA 安装 Scala 插件

依次选择 File -> Setting -> Plugins。搜索框输入 scala,右侧点击 Install Plugin,安装成功后重启 IntelliJ IDEA。

2. 导入spark项目

依次选择File -> open,在弹出的窗口中选择之前构建好的spark源码目录。

项目读取完毕之后,如果直接构建源码,IDEA会报出许多错误。

3. 构建spark项目

需要进行一些额外配置。
选择File -> Project Structure,依次打开Modules -> spark-streaming-flume-sink.2.11,右键 target 目录,取消 Excluded 标签。

展开到 target -> scala-2.11 -> src_managed -> main -> compiled_avro 目录,右键,标记为 Source 目录。

依次选择Build -> Rebuild Project,之后等待项目构建完毕即可,如下图:

运行spark

设置环境变量

/etc/profile文件的末尾添加环境变量:
export SPARK_HOME=/home/ljm/spark
export PATH=$SPARK_HOME/bin:$PATH

保存并更新/etc/profile:
source /etc/profile

在conf目录下复制并重命名spark-env.sh.template为spark-env.sh:
cp spark-env.sh.template spark-env.sh

在spark-env.sh中添加:
export JAVA_HOME=/home/ljm/jdk/
export SCALA_HOME=/home/ljm//scala
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_MEMORY=4G

在任意目录下执行指令spark-shell --help,若没有提示命令找不到,则说明设置成功。

运行测试应用

测试Spark是否安装成功:
$SPARK_HOME/bin/run-example SparkPi

从途中可以观察到输出Pi is roughly 3.142355711778559,表明spark安装成功。

交互式scala shell

配置完环境变量之后输入:
spark-shell

输入下面的指令,结果会返回1000
sc.parallelize(1 to 1000).count()

运行与关闭集群

启动集群上的所有节点:
$SPARK_HOME/sbin/start-all.sh

检查WebUI,浏览器打开端口:http://localhost:8080

关闭正在运行的所有节点:
$SPARK_HOME/sbin/stop-all.sh

修改源码后重新编译即可

./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package


参考资料:

  1. ihainan
  2. spark编译文档
  3. 知乎
  4. dragonly.github.io
  5. www.supergloo.com
  6. blog.tomgou.xyz
文章目录
  1. 1. 预备条件
    1. 1.1. 安装jdk,scala
    2. 1.2. IDEA搭建安装
    3. 1.3. 配置ssh localhost
    4. 1.4. 安装hadoop
  2. 2. spark编译环境配置
    1. 2.1. 使用Maven编译源码
      1. 2.1.1. 1. 下载spark源码
      2. 2.1.2. 2. 设置maven内存限制
      3. 2.1.3. 3. 编译源码
    2. 2.2. 使用IDEA搭建源码编译与阅读环境
      1. 2.2.1. 1. IntelliJ IDEA 安装 Scala 插件
      2. 2.2.2. 2. 导入spark项目
      3. 2.2.3. 3. 构建spark项目
  3. 3. 运行spark
    1. 3.1. 设置环境变量
    2. 3.2. 运行测试应用
    3. 3.3. 交互式scala shell
    4. 3.4. 运行与关闭集群
    5. 3.5. 修改源码后重新编译即可