Cloudera之旅 ☞ 【二】Spark-sql部署
2016-01-28 09:01
344 查看
参考
概述
环境
部署
调整mvn内存
调整pomxml文件
调整mvn库
执行mvn编译
拷贝部署assembly jar文件
让cloudera manager装的spark支持hql
Building Spark
这里简单描述下自己遇到的两个超级大坑
刚开始没注意,直接看了下cdh5.4.3带的spark版本(1.3.0)然后直接从官网下载下来个编译是编译完成了,最后jar打进去发现社区的spark对应的hive是0.13版本直接hive的metstore版本对不上,惨了。
从cloudera的官网下载spark1.3.0-cloudera源码编译,死活hive-thriftserver编译不过去,追其原因是由于spark1.3.0支持的hive最高到0.13版本,而cloudera5.4.3支持的hive是1.1.0(好吧cloudera直接给你挖个坑等着你跳)
无奈,最后直接从官网下载最新版的spark1.6(也不一定最新版,内置hive版本高于cloudera的都可以)
hadoop:2.6.0
hive:1.1.0
maven:3.3.9
spark :1.6(社区最新版本)
说明spark1.3.0对应hive是0.12和0.13不支持1.1.0+(这里相当坑)
scala :2.10.5
java :1.7.0_67
注意:
- 这里特别说明CM中的Hadoop和hive版本是由于默认spark社区使用的hadoop、hive与cloudera内置的不相同,这里我们要在编译的时候调整pom.xml文件
- 其次这里我们scala和java尽量的和spark内置版本一致
再次提醒注意版本,超级慢,编译完噼里啪啦的一堆警告,先不管
注意:这里如果你的scala版本比pom.xml中版本高那么你需要通过-Dscala.version参数指定。
概述
环境
部署
调整mvn内存
调整pomxml文件
调整mvn库
执行mvn编译
拷贝部署assembly jar文件
参考
重新编译spark 增加spark-sql适配CDH让cloudera manager装的spark支持hql
Building Spark
概述
由于cloudera自带的spark-yarn不支持没有spark-sql(也许是cloudera推广自己的impala吧),但是如果我们线上要用spark直接写原生的必然效率低很多这里简单描述下自己遇到的两个超级大坑
刚开始没注意,直接看了下cdh5.4.3带的spark版本(1.3.0)然后直接从官网下载下来个编译是编译完成了,最后jar打进去发现社区的spark对应的hive是0.13版本直接hive的metstore版本对不上,惨了。
从cloudera的官网下载spark1.3.0-cloudera源码编译,死活hive-thriftserver编译不过去,追其原因是由于spark1.3.0支持的hive最高到0.13版本,而cloudera5.4.3支持的hive是1.1.0(好吧cloudera直接给你挖个坑等着你跳)
无奈,最后直接从官网下载最新版的spark1.6(也不一定最新版,内置hive版本高于cloudera的都可以)
环境
cloudera manager:5.5.0(免费版)hadoop:2.6.0
hive:1.1.0
maven:3.3.9
spark :1.6(社区最新版本)
说明spark1.3.0对应hive是0.12和0.13不支持1.1.0+(这里相当坑)
scala :2.10.5
java :1.7.0_67
注意:
- 这里特别说明CM中的Hadoop和hive版本是由于默认spark社区使用的hadoop、hive与cloudera内置的不相同,这里我们要在编译的时候调整pom.xml文件
- 其次这里我们scala和java尽量的和spark内置版本一致
部署
调整mvn内存
spark官方要求编译时候内存要设置2G以上[root@testhost43 spark-1.6.0]# export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
调整pom.xml文件
注意这里由于我们整的是cloudera的包,所以还得改hive.group为org.apache.hive才能找到hive-exec-xxx-cloudera-xxx.pom[root@testhost43 spark-1.6.0]# vi pom.xml ...... <!-- Version used in Maven Hive dependency --> <hive.group>org.apache.hive</hive.group> <!--<hive.group>org.spark-project.hive</hive.group>--> <!--<hive.version>1.2.1.spark</hive.version>--> <hive.version>${cdh.hive.version}</hive.version> <!--<hive.version.short>1.2.1</hive.version.short>--> <hive.version.short>1.1.0</hive.version.short> ......
调整mvn库
国内资源一直很蛋疼,这里添加oschina的mvn库和cloudera的库(hive要下载cloudera的)...... <repository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>cdh.repo</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos</url> <name>Cloudera Repositories</name> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>cdh.snapshots.repo</id> <url>https://repository.cloudera.com/artifactory/libs-snapshot-local</url> <name>Cloudera Snapshots Repository</name> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> ...... <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> ......
执行mvn编译
mvn -Pyarn -Dhadoop.version=2.6.0-cdh5.5.0 -Dcdh.hive.version=1.1.0-cdh5.5.0 -Phive -Phive-thriftserver -DskipTests clean package
再次提醒注意版本,超级慢,编译完噼里啪啦的一堆警告,先不管
注意:这里如果你的scala版本比pom.xml中版本高那么你需要通过-Dscala.version参数指定。
拷贝&部署assembly jar文件
相关文章推荐
- spring mongodb用法
- 实例讲解分布式缓存软件Memcached的Java客户端使用
- SparkSQL JOIN 相关的自己看的笔记;
- redis
- 数据库的NULL值讨论
- SQL Server ->> WITH RESULT SETS子句
- 运用Log和Trace文件排除Oracle Net问题
- 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析
- SQL Server ->> PARSE函数
- MongoDB学习领悟: 文档的书写是基于K-V的map演算形式
- mongodb中最为简单的一种安装方法
- SQL Server ->> 时间函数: EOMONTH, DATEFROMPARTS, TIMEFROMPARTS, DATETIMEFROMPARTS, DATETIMEOFFSETFROMPARTS
- MongoDB 数据类型
- Nutch+MongoDB+ElasticSearch+Kibana 搭建搜索引擎
- SQL 视图
- mongodb 特殊作用的数据库
- SQL Server ->> CONCAT函数
- mysql 5.7.10安装配置
- MongoDb web 用户界面
- mysql5.7.10安装