《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
相关文章
|
5月前
|
Java 测试技术 Maven
Maven打包使用多线程加速构建过程
Maven打包使用多线程加速构建过程
756 0
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
48 1
|
4月前
|
自然语言处理 Java Maven
Maven 自动化构建
Maven自动化构建确保依赖稳定性。`bus-core-api(1.0-SNAPSHOT)`构建后,自动触发`app-web-ui`和`app-desktop-ui`的构建,两者均依赖bus-core-api的1.0快照版。 ``` 纯文本摘要: Maven自动化构建保证依赖项的稳定性:当`bus-core-api`的1.0-SNAPSHOT版本完成构建时,它会触发依赖它的`app-web-ui`和`app-desktop-ui`项目的构建,这两个项目都依赖`bus-core-api`的相同版本。
|
4月前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
4月前
|
Java API Maven
Maven 自动化构建
**摘要 (Markdown 格式)**: Maven自动化构建确保依赖稳定性。当`bus-core-api` (1.0-SNAPSHOT) 构建后,依赖它的`app-web-ui`和`app-desktop-ui`(均依赖bus-core-api的1.0快照)会自动触发构建,保证与最新核心API兼容。
|
4月前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件用于定制不同环境的构建,如生产与开发。配置在`pom.xml`的`profiles`中,可通过命令行、设置文件、环境变量等方式激活。配置文件分项目级、用户级和全局级。例如,`env.properties`为默认,`env.test.properties`和`env.prod.properties`代表测试和生产环境。激活配置文件可影响如数据库URL等参数。示例中用AntRun插件展示配置应用,但实际配置文件功能不限于此。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site(站点)三个阶段,用于项目构建与发布。Default生命周期含validate、compile、test、package、verify、install和deploy,确保代码编译、测试、打包和部署。Clean清除目标目录,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package,先执行清理,再打包。
|
4月前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性:** 当`bus-core-api`(1.0-SNAPSHOT)构建后,依赖它的`app-web-ui`和`app-desktop-ui`自动触发构建。`app-web-ui`与`app-desktop-ui`都引用`bus-core-api`的1.0快照版本,实现版本同步。
|
5月前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性。当bus-core-api(1.0-SNAPSHOT)构建完成后,app-web-ui和app-desktop-ui这两个依赖它的项目自动触发构建,维持版本协调。**
|
4月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决

推荐镜像

更多