编译spark支持thriftserver
cdh默认把spark的spark-sql以及hive-thriftserver给弃用掉了,想玩玩thriftserver,于是自己重新编译一个
官网参考:
http://spark.apache.org/docs/2.3.3/building-spark.html#building-a-runnable-distribution
http://spark.apache.org/docs/2.3.3/sql-programming-guide.html#distributed-sql-engine
环境:
#java export JAVA_HOME="/usr/lib/java/jdk1.8.0_144" export JRE_HOME="$JAVA_HOME/jre" export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$PATH #maven export MAVEN_HOME="/home/etluser/kong/spark/apache-maven-3.6.2" export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m" export PATH=$MAVEN_HOME/bin:$PATH
修改./dev/make-distribution.sh,
1.根据服务器实际配置使用多core
2.直接指定相关VERSION,注释获取version的部分
3.hadoop,flume,zk指定cdh相关版本
vim spark-/dev/make-distribution.sh
BUILD_COMMAND=("$MVN" -T 1C clean package -DskipTests $@)
修改为
BUILD_COMMAND=("$MVN" -T 10C package -DskipTests $@)
#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | fgrep --count "<id>hive</id>";\
    # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
    # because we use "set -o pipefail"
#    echo -n)
VERSION=2.3.4
SCALA_VERSION=2.11.8
SPARK_HADOOP_VERSION=2.6.0-cdh5.13.3
SPARK_HIVE=1
<hadoop.version>2.6.0-cdh5.14.0</hadoop.version>
<flume.version>1.6.0-cdh5.14.0</flume.version>
<zookeeper.version>3.4.5-cdh5.14.0</zookeeper.version>
修改maven conf目录下settings.xml文件,加入阿里库
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun-maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
在spark-2.3.4/pom.xml 添加cdh仓库
<repository>
    <id>cloudera</id>
    <name>cloudera Repository</name>
    <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
执行
./ --tgz -Pyarn -Phadoop--cdh5.13.3 -Phive -Phive-thriftserver -DskipTests
然后等待...

完成!

生成的压缩包

编译spark支持thriftserver的更多相关文章
- Spark 1.1.0 编译(为了支持hbase 0.98.6)
		
为了支持hbase0.98.6,需要重新编译spark 1. 下载spark 1.1.0源代码,以及 scala-2.10.4的bin包. 将环境变量 SCALA_HOME 设置为 scala-2.1 ...
 - 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码
		
1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...
 - 编译spark源码    Maven 、SBT 2种方式编译
		
由于实际环境较为复杂,从Spark官方下载二进制安装包可能不具有相关功能或不支持指定的软件版本,这就需要我们根据实际情况编译Spark源代码,生成所需要的部署包. Spark可以通过Maven和SBT ...
 - ios 编译openssl支持arm64(转)
		
最近在编译支付宝 快捷支付(无线) ios 端的时候发现demo不支持arm64.在网上找了下,看到客服说是openssl的库文件不支持arm64,于是自己编译了支持arm64的库文件,发现还是不行, ...
 - Spark笔记--使用Maven编译Spark源码(windows)
		
1. 官网下载源码 source code,地址: http://spark.apache.org/downloads.html 2. 使用maven编译: 注意在编译之前,需要设置java堆大小以及 ...
 - 编译Nginx支持Tcp_warppers
		
Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性.TCP Wrappers 是一种 ...
 - 使用SBT编译Spark子项目
		
前言 最近为了解决Spark2.1的Bug,对Spark的源码做了不少修改,需要对修改的代码做编译测试,如果编译整个Spark项目快的话,也得半小时左右,所以基本上是改了哪个子项目就单独对那个项目编译 ...
 - 编译GDAL支持ArcObjects
		
编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...
 - sbt编译spark程序提示value toDF is not a member of Seq()
		
sbt编译spark程序提示value toDF is not a member of Seq() 前提 使用Scala编写的Spark程序,在sbt编译打包的时候提示value toDF is no ...
 
随机推荐
- Controller层的方法访问标志与Spring装配与AspectJ切面处理
			
最近在做AspectJ实现的日志模块,在spring配置中加入了<aop:aspectj-autoproxy/>,之后发现,只要有用到自定义注解的类,某些方法经MVC请求时就报空指针错误. ...
 - ArraryList源码解读
			
先由一道题引发思考: ArrayList list = new ArrayList(20);中的list扩充几次() A 0 B 1 C 2 D 3 答案:A 直接翻看 jd ...
 - phpstorm安装步骤是什么?
			
phpstorm的安装及其激活教程 1.phpstorm安装步骤: (1)下载地址:http://www.jetbrains.com/phpstorm/ 根据自己电脑的32or64位下载,下载完后就是 ...
 - PHP代码审计基础-初级篇
			
对于php代码审计我也是从0开始学的,对学习过程进行整理输出沉淀如有不足欢迎提出共勉.对学习能力有较高要求,整个系列主要是在工作中快速精通php代码审计,整个学习周期5天 ,建议花一天时间熟悉php语 ...
 - 如何在CentOS6.4系统上安装KVM虚拟机
			
CentOS6.4系统上安装KVM虚拟机 备注:以下操作说明是经过实验验证后总结出来的笔录,有需要的朋友可以进行参考,以下是基于VMware12.5.2虚拟机版本上安装的实验环境. 一.安装KVM ...
 - git clone下代码window与unix换行问题
			
项目中避免不了会写一些shell脚本,使用ln软连接到一个目录.当git clone到windows中,ln连接显示无比怪异(如../xx),打开.sh文件后(仅仅是打开了),git status会看 ...
 - ESP8266开发之旅 网络篇⑬ SPIFFS——ESP8266 SPIFFS文件系统
			
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
 - 【原创】docker在Ubuntu下1小时快速学习
			
前言 由于工作原因,很多情况下需要快速学习新的知识,针对docker如果从头到尾看相关书籍学习会非常慢,所以整理了下docker的常用操作,只要跟着本文学习操作,一小时就能掌握docker大部最常用分 ...
 - 百万年薪python之路  --  模块
			
1.自定义模块 1.1.1 模块是什么? 模块就是文件,存放一堆常用的函数和变量的程序文件(.py)文件 1.1.2 为什么要使用模块? 1.避免写重复代码,从文件级别组织程序,更方便管理 2.可以多 ...
 - Vultr新用户充值送50刀
			
充值送50刀 活动还是可以的,充个10刀,适合用来当测试服,按时间计费