《Spark Cookbook 中文版》一1.3 通过Maven构建Spark源码

简介:

本节书摘来异步社区《Spark Cookbook 中文版》一书中的第1章,第1.3节,作者: 【印度】Rishi Yadav(亚达夫)译者: 顾星竹 , 刘见康 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 通过Maven构建Spark源码

在大多数情况下使用二进制文件安装Spark已经足够了。对于一些高级的需求(并不局限于下列需求),通过源码编译是个更好的选择。

  • 需要使用特定的Hadoop版本进行编译。
  • 集成Hive。
  • 集成YARN。

1.3.1 准备工作

开始本篇教程之前需要以下必备条件。

  • Java 1.6或更新版本。
  • Maven 3.x。

1.3.2 具体步骤

使用Maven构建Spark源码的步骤如下。

1.增大堆的MaxPermSize参数。

$ echo "export _JAVA_OPTIONS=\"-XX:MaxPermSize=1G\"" >> /home/
 hduser/.bashrc

2.打开一个新的终端窗口并通过GitHub下载源码。

$ wget https://github.com/apache/spark/archive/branch-1.4.zip

3.解压缩文档。

$ gunzip branch-1.4.zip

4.进入spark目录。

$ cd spark

5.通过以下标签编译源码:激活Yarn、Hadoop版本设置为2.4,激活Hive以及跳过测试以加快编译速度。

$ mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive
-DskipTests clean package

6.为了制作软链接,把conf目录移动到etc目录下。

$ sudo mv spark/conf /etc/

7.把spark目录移动到/opt,因为spark是一个附加软件包。

$ sudo mv spark /opt/infoobjects/spark

8.设置root为spark主目录的权限用户。

$ sudo chown -R root:root /opt/infoobjects/spark

9.修改spark主目录的权限,0755意味着主用户将拥有读写和执行权限,而同组用户和其他用户拥有读和执行权限。

$ sudo chmod -R 755 /opt/infoobjects/spark

10.进入spark主目录。

$ cd /opt/infoobjects/spark

11.创建软链接。

$ sudo ln -s /etc/spark conf

12.在.bashrc文件中添加到PATH变量。

$ echo "export PATH=$PATH:/opt/infoobjects/spark/bin" >> /home/
   hduser/.bashrc

13.在/var目录下创建log目录。

$ sudo mkdir -p /var/log/spark

14.设置hduser为Spark log目录的权限用户。

$ sudo chown -R hduser:hduser /var/log/spark

15.在Spark下创建tmp目录。

$ mkdir /tmp/spark

16.在以下命令的帮助下配置Spark。

$ cd /etc/spark
$ echo "export HADOOP_CONF_DIR=/opt/infoobjects/hadoop/etc/hadoop"
>> spark-env.sh
$ echo "export YARN_CONF_DIR=/opt/infoobjects/hadoop/etc/Hadoop"
>> spark-env.sh
$ echo "export SPARK_LOG_DIR=/var/log/spark" >> spark-env.sh
$ echo "export SPARK_WORKER_DIR=/tmp/spark" >> spark-env.sh
相关文章
|
3月前
|
Java 测试技术 应用服务中间件
使用Maven构建一个项目时,通常按照以下六个步骤的顺序进行
使用Maven构建一个项目时,通常按照以下六个步骤的顺序进行
103 0
|
4月前
|
SQL 分布式计算 大数据
【大数据技术Spark】DStream编程操作讲解实战(图文解释 附源码)
【大数据技术Spark】DStream编程操作讲解实战(图文解释 附源码)
37 0
|
4月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
85 0
|
3月前
|
前端开发 IDE Java
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
163 0
|
1月前
|
分布式计算 监控 Java
Spark学习---day06、Spark内核(源码提交流程、任务执行)
Spark学习---day06、Spark内核(源码提交流程、任务执行)
39 2
|
2月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
94 2
|
2月前
|
Java Maven
【Maven从入门到如土】如何在Maven工程中编写代码并执行构建
【Maven从入门到如土】如何在Maven工程中编写代码并执行构建
37 0
|
2月前
|
Java Maven
idea下载不下来maven三方库源码处理
idea下载不下来maven三方库源码处理
29 0
|
3月前
|
存储 Java 关系型数据库
深入探索Maven:优雅构建Java项目的新方式(二)
深入探索Maven:优雅构建Java项目的新方式(二)
|
3月前
|
Java Maven
深入探索Maven:优雅构建Java项目的新方式(一)
深入探索Maven:优雅构建Java项目的新方式(一)