Spark2.0.0源码编译

Hive默认使用MapReduce作为执行引擎,即Hive on mr,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on Spark。由于MapReduce中间计算均需要写入磁盘,而Spark是放在内存中,所以总体来讲Spark比MapReduce快很多。默认情况下,Hive on Spark 在YARN模式下支持Spark。

因为本人在之前搭建的集群中,部署的环境为:
hadoop2.7.3

hive2.3.4

scala2.12.8

kafka2.12-2.10

jdk1.8_172

hbase1.3.3

sqoop1.4.7

zookeeper3.4.12

#java
export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#hbase
export HBASE_HOME=/home/workspace/hbase-1.3.3
export PATH=$HBASE_HOME/bin:$PATH

#hadoop
export HADOOP_HOME=/home/workspace/hadoop-2.7.3
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#hive
export HIVE_HOME=/opt/apache-hive-2.3.4-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=.:$HIVE_HOME/bin:$PATH
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
export HCAT_HOME=$HIVE_HOME/hcatalog
export PATH=$HCAT_HOME/bin:$PATH

#Sqoop
export SQOOP_HOME=/home/workspace/sqoop-1.4.7.bin__hadoop-2.6.0
export PATH=$PATH:$SQOOP_HOME/bin

# zookeeper
export ZK_HOME=/home/workspace/software/zookeeper-3.4.12
export PATH=$ZK_HOME/bin:$PATH

#maven
export MAVEN_HOME=/home/workspace/software/apache-maven-3.6.0
export M2_HOME=$MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin

#scala
export SCALA_HOME=/usr/local/scala/scala-2.12.8
export PATH=$SCALA_HOME/bin:$PATH

#kafka
export KAFKA_HOME=/home/workspace/software/kafka_2.12-2.1.0
export PATH=$KAFKA_HOME/bin:$PATH

#kylin
export KYLIN_HOME=/home/workspace/software/apache-kylin-2.6.0
export KYLIN_CONF_HOME=$KYLIN_HOME/conf
export PATH=:$PATH:$KYLIN_HOME/bin:$CATALINE_HOME/bin
export tomcat_root=$KYLIN_HOME/tomcat   #变量名小写
export hive_dependency=$HIVE_HOME/conf:$HIVE_HOME/lib/*:$HCAT_HOME/share/hcatalog/hive-hcatalog-core-2.3.4.jar   #变量名小写

现在想部署spark上去,鉴于hive2.3.4支持的spark版本为2.0.0,所以决定部署spark2.0.0,但是spark2.0.0,默认是基于scala2.11.8编译的,所以,决定基于scala2.12.8手动编译一下spark源码,然后进行部署。本文默认认为前面那些组件都已经安装好了,本篇只讲如何编译spark源码,如果其他的组件部署不清楚,请参见本人的相关博文。

1. 下载spark2.0.0源码

cd /home/workspace/software
wget http://archive.apache.org/dist/spark/spark-2.0.0/spark-2.0.0.tgz
tar -xzf spark-2.0.0.tgz
cd spark-2.0.0

2. 修改pom.xml改为用scala2.12.8编译

vim pom.xml

修改scala依赖版本为2.12.8(原来为2.11.8)

<scala.version>2.12.8</scala.version>
<scala.binary.version>2.12</scala.binary.version>

3. 修改make-distribution.sh 

cd /home/workspace/software/spark-2.0.0/dev
vim make-distribution.sh 

修改其中的VERSION,SCALA_VERSION,SPARK_HADOOP_VERSION,SPARK_HIVE为对应的版本值

其中SPARK_HIVE=1表示打包hive,非1值为不打包hive。

此步非必须,若不给定,它也会从maven源中下载,为节省编译时间,直接给定;

4. 下载zinc0.3.9

wget https://downloads.typesafe.com/zinc/0.3.9/zinc-0.3.9.tgz     #下载zinc-0.3.9.tgz,scala编译库,如果不事先下载,编译时会自动下载

将zinc-0.3.9.tgz解压到/home/workspace/software/spark-2.0.0/build目录下

tar -xzvf zinc-0.3.9.tgz -C /home/workspace/software/spark-2.0.0/build

5. 下载scala2.12.8 binary file

wget https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.tgz    #下载scala-2.12.8.tgz,scala编译库,如果不事先下载,编译时会自动下载
tar -xzvf scala-2.12.8.tgz -C /home/workspace/software/spark-2.0.0/build

 6. 使用make-distribution.sh方式进行编译

./make-distribution.sh  --name "hadoop2.7.3-with-hive2.3.4"   --tgz  -Dhadoop.version=2.7.3        -Phadoop-2.7.3  -Pyarn -Phive -Phive-thriftserver

编译时间大概在半小时以上。

编译出来的二进制包在/home/workspace/software/spark-2.0.0根目录下

编译完成!

原文地址:https://www.cnblogs.com/lenmom/p/10354054.html

时间: 2024-10-06 12:28:14

Spark2.0.0源码编译的相关文章

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

(9)ubuntu下hadoop1.0.4源码编译

本机环境: ubuntu 12.04  32位 jdk 1.7 (1)maven-3.2.2的安装 首先到maven官网下载,http://maven.apache.org/,这里我下载了最新版本,maven-3.2.2 解压到/usr/local/目录下: tar -zxvf  apache-maven-3.2.2-bin.tar.gz,并重命名为maven 修改 /etc/profile: 添加一下两个变量并保存: export M2_HOME=/usr/local/maven export

spark2.0.1源码编译

一.编译源码步骤演示详解 . 编译spark环境要求 1.必须在linux系统下编译(以centos6.4为例) 2.编译使用的JDK版本必须是1.6以上(以JDK1.8为例) 3.编译需要使用Maven版本3.0以上(以Maven3.3.9为例) 4.编译需要使用Scala(以scala-2.11.8为例) . 编译spark所需要的包 1.spark-2.0.1.tgz:下载spark编译的源码包,提供apache下载页面http://archive.apache.org/dist/spar

android 5.0 (lollipop)源码编译环境搭建(Mac OS X)

硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以上 软件环境:OS X 10.9.2 GNU Make 3.81 Python 2.7.5 XCode 5.0.2 java version "1.7.0_55" repo VERSION = (1, 21) 某收费VPN(代理FAN墙是下载不了的,请使用VPN) (软件版本问题非常可能导

zabbix3.0.4源码编译安装

本文简单介绍下zabbix3.0.4的安装. 环境: 数据库:192.168.115.12 nginx:192.168.115.31 php:192.168.115.31 zabbix:192.168.115.31 一.安装nginx1.10.1 1.编译软件 # yum install pcre-devel openssl-devel # tar xf nginx-1.10.1.tar.gz # cd nginx-1.10.1 # ./configure --prefix=/usr/local

kafka 0.11.0.3 源码编译

首先下载 kafka 0.11.0.3 版本 源码: http://mirrors.hust.edu.cn/apache/kafka/0.11.0.3/ 下载源码 首先安装 gradle,不再说明 1. 解压缩source压缩包: 2. 进入项目根目录下,执行 gradle 3. 转换为 idea 项目 gradlew idea gradle过程遇到的问题: 问题一: jcenter 连接不上问题 问题描述: * What went wrong: A problem occurred confi

Android5.0.1源码编译

On Ubuntu14.04 5.0.1 requires OpenJDK on linuxrefer to build/core/main.mk, line 177 Configure:$ source build/envsetup.sh$ lunch Error:make: *** [out/host/linux-x86/bin/validatekeymaps] Error 127 $ sudo apt-get install g++-multilibmake: *** [out/host/

apache源码编译时报错ssl_engine_init.c:546: error: &#39;STACK&#39; undeclared (first use in this function)

操作系统:centos6.4 X86_64 apache版本:httpd-2.2.6 openssl版本:openssl-1.0.1e 源码编译apache时报如下错误: ssl_engine_init.c: In function 'ssl_init_ctx_protocol': ssl_engine_init.c:390: warning: assignment discards qualifiers from pointer target type ssl_engine_init.c:39

烂泥:mysql5.5数据库cmake源码编译安装

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开始使用cmake 编译工具. 所以这篇文章主要是讲解如何通过cmkae编译安装mysql5.5及其以后的版本. 注意本篇文章的环境为centos6.5 64bit. cat /etc/system-release uname -a 在安装mysql数据库之前,我们首先要在系统中新建mysql运行时的用户mys

ubuntu 源码编译安装最新的vim 8.0

为什么要源码编译安装VIM? 因为我要安装ycm,ycm要求vim版本为8.0 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 1,核对系统版本 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: tr