01 Spark源码编译

1.1设置机器名:hostname

gedit /etc/sysconfig/network

Scala

http://www.scala-lang.org/

cd /opt

mkdir scala

cp /home/hserver1/desktop/scala-2.12.2.tgz /opt/scala

cd /opt/scala

tar -xvf scala-2.12.2.tgz

配置环境变量

gedit /etc/profile

export SCALA_HOME=/opt/scala/scala-2.12.2

source /etc/profile

验证Scala

scala -version

Spark源码

* 下载

http://mirror.bit.edu.cn/apache/spark/spark-2.2.0/

* tar -xvf 

2、编译代码

* 进入源码根目录,执行如下编译命令:

1. mvn -Pyarn -Phadoop-2.6 -DskipTests clean package
2. mvn -Pyarn -Dscala-2.10 -DskipTests clean package
3. mvn -Pyarn -Phadoop-2.7 -PHive -Dhadoop.version=2.7.4 -DskipTests clean package  

这个时间吧 大概是我从四点开始编译到了六点半竟然还没有编译完。

经过修改

mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.4 -PHive -Phive-thriftserver -DskipTests clean package

mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.4 -PHive -Phive-thriftserver -DskipTests clean package

进行了很多次编译,终于通过

第二次编译也成功了

3、生成部署包

./make-distribution.sh --name hadoop2.7.4 --tgz -Phadoop-2.7 -Phive -Phive-thriftserver -Pyarn

./make-distribution.sh --tgz -Phadoop-2.7 -Pyarn -DskipTests -Dhadoop.version=2.7.4 -Phive

./dev/make-distribution.sh --name hadoop2.7.4 --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn

同样耗时略久,如无异常,会在源码包根目录生成安装包

spark-2.2.0-bin-hadoop2.8.2.tgz

4、解压spark安装包至目标目录

1. tar -xvf spark-2.2.0-bin-hadoop2.8.2.tgz -C /opt/spark/

5、将spark加入到环境变量

在/etc/profile加入

gedit /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_152

export HADOOP_HOME=/opt/hadoop/hadoop-2.7.4

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"

export SCALA_HOME=/opt/scala/scala-2.12.2

export CLASS_PATH=.:${JAVA_HOME}/lib:${HIVE_HOME}/lib:$CLASS_PATH

export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${SPARK_HOME}/bin:${SCALA_HOME}/bin:${MAVEN_HOME}/bin:$PATH

source /etc/profile

6、配置conf

进入conf目录

cp slaves.template slaves

gedit slaves

添加hadoop1

cp spark-env.sh.template spark-env.sh

gedit spark-env.sh

1. export SPARK_MASTER_IP=hadoop1
2. export SPARK_LOCAL_IP=hadoop1
3. export SPARK_MASTER_PORT=7077
4. export SPARK_WORKER_CORES=1
5. export SPARK_WORKER_INSTANCES=1
6. export SPARK_WORKER_MEMORY=512M
7. export LD_LIBRARY_PATH=$JAVA_LIBRARY_PATH

cp spark-defaults.conf.template spark-defaults.conf

gedit spark-defaults.conf

1. spark.master                     spark://master:7077
2. spark.serializer                 org.apache.spark.serializer.KryoSerializer
3. spark.driver.memory              512m
4. spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"  

更改日志级别:

cp log4j.properties.template log4j.properties

gedit log4j.properties

19 log4j.rootCategory=WARNING, console

7、启动hdfs

cd $HADOOP_HOME/sbin

./start-dfs.sh

8、启动spark

cd $SPARK_HOME/sbin

./start-all.sh

浏览器访问http://hadoop1:8080/就可以访问到spark集群的主页

注意:需要将防火墙关闭service iptables stop

验证启动:

jps

验证客户端连接:

spark-shell --master spark://hadoop1:7077 --executor-memory 500m

时间: 2024-10-01 10:41:52

01 Spark源码编译的相关文章

Apache Spark源码走读之9 -- Spark源码编译

欢迎转载,转载请注明出处,徽沪一郎. 概要 本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了.但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不已. 今天闲来无事,又重试了一把,居然o了,做个记录,以备后用. 准备 我的编译机器上安装的Linux是archlinux,并安装后如下软件 scala 2.11 maven git 下载源码 第

Spark源码编译

前言 Spark可以通过SBT和Maven两种方式进行编译,再通过make-distribution.sh脚本生成部署包. SBT编译需要安装git工具,而Maven安装则需要maven工具,两种方式均需要在联网 下进行.  尽管maven是Spark官网推荐的编译方式,但是sbt的编译速度更胜一筹.因此,对于spark的开发者来说,sbt编译可能是更好的选择.由于sbt编译也是基于maven的POM文件,因此sbt的编译参数与maven的编译参数是一致的. 心得 有时间,自己一定要动手编译源码

编译spark源码

本例记录spark源码编译的过程及问题 因为编译会有很多很多莫名其妙的错误,为了方便,使用hadoop的cdh版本,注意版本要和我的一致, 环境: maven3.0.5 scala2.10.4                                下载地址:http://www.scala-lang.org/download/all.html spark-1.3.0-src                        下载地址:http://spark.apache.org/downl

1、Spark 2.1 源码编译支持CDH

目前CDH支持的spark版本都是1.x, 如果想要使用spark 2x的版本, 只能编译spark源码生成支持CDH的版本. 一.准备工作 找一台Linux主机, 由于spark源码编译会下载很多的第三方类库包, 因此需要主机能够联网. 1.安装Java, 配置环境变量, 版本为JDK1.7或者以上 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261

Spark 2.1.1 源码编译

Spark 2.1.1 源码编译 标签(空格分隔): Spark Spark 源码编译 环境准备与起因 由于线上Spark On Yarn Spark Streaming程序在消费kafka 写入HDFS table 使用Partition by 和 Savemode.append,在一定条件下导致写入HDFS 超过了处理批次.经过排查应该与 Spark 写入parquet 文件追加时候元数据检查所导致,修改源码后需要对其进行编译. 参考Spark的官方文档 根据Spark官方文档编译模块的介绍

Spark源码学习和总结1

一. Spark源码编译 解析: wget http://archive.apache.org/dist/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz gtar -zxvf spark-1.6.0-bin-hadoop2.6.tgz cd spark-1.6.0-bin-hadoop2.6 ./sbt/sbt gen-idea 说明:漫长的等待后,上述命令生成SBT工程,我们就可以使用IDEA以SBT Project的方式打开. 二. RDD实现

搭建Spark源码研读和代码调试的开发环境

转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md Table of Contents 源码获取与编译 从Github上获取Spark源码 编译Spark项目 源码导入与代码运行 导入源码到Intellij IDEA 16 运行实例代码 1. 配置运行参数 2. 添加缺失的flume sink源代码 3. 添加运行依赖的jars 4. 成功运行实例代码 单步调试源代码 工欲善其事,必先利其器,第一篇笔记介绍如何搭

了解Spark源码的概况

本文旨在帮助那些想要对Spark有更深入了解的工程师们,了解Spark源码的概况,搭建Spark源码阅读环境,编译.调试Spark源码,为将来更深入地学习打下基础. 一.项目结构 在大型项目中,往往涉及非常多的功能模块,此时借助于Maven进行项目.子项目(模块)的管理,能够节省很多开发和沟通成本.整个Spark项目就是一个大的Maven项目,包含着多个子项目.无论是Spark父项目还是子项目,本身都可以作为独立的Maven项目来管理.core是Spark最为核心的功能模块,提供了RPC框架.度

window环境下使用sbt编译spark源码

前些天用maven编译打包spark,搞得焦头烂额的,各种错误,层出不穷,想想也是醉了,于是乎,换种方式,使用sbt编译,看看人品如何! 首先,从官网spark官网下载spark源码包,解压出来.我这边使用的是1.4.0版本. 然后,我们需要把sbt配置好,配置很简单,无非就是SBT_HOME什么的,大家可以参考官网给出的安装配置手册. 在window的命令行模式下进入刚刚解压的spark源码目录下,我们根据官网提示的命令输入: sbt -Pyarn -Phadoop-2.3 assembly