spark1.3.0 on yarn 构建(hive0.12.0)
来源:互联网 发布:魔方数据恢复 编辑:程序博客网 时间:2024/05/17 03:05
1、编译spark源文件
下载spark时,可以选择对应自己hadoop版本的pre-built版下载最新spark1.3.0。
如果没有自己hadoop版本对应的预构建版本,或者spark对应的hive版本不一致等都需要重新构建
构建方法详情见spark官网网址为https://spark.apache.org/docs/latest/building-spark.html
本文是使用maven进行构建,构建的命令为:
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
执行上述命令,避免在构建过程中内存不足错误。然后执行以下命令:mvn -Pyarn -Phadoop-2.3 -Dhadoop.version=2.3.0 -Phive -Phive-0.12.0 -Phive-thriftserver -DskipTests clean package
Pyarn代表支持yarn,Phadoop指定hadoop版本,Phive指定hive版本。
只需要更改hadoop版本和hive版本即可。详情见https://spark.apache.org/docs/latest/building-spark.html
编译时间大概为两三个小时,具体根据网络情况而定。
由于我使用的是hadoop2.3版本,我首先下载了一个pre-built for hadoop2.3版本的spark,由于我使用的hive版本为0.12.0,pre-built内hive版本为0.13.0不能使用。
我们只需将刚才构建spark目录下assembly/target/scala-2.10目录下的spark-assembly-1.3.0-hadoop2.3.0.jar文件将pre-built for hadoop2.3版本目录下lib中的相同文件替换掉。此时pre-built for hadoop2.3就是我们需要的spark for hadoop2.3 and hive0.12.0。
如果没有hadoop版本需要重新构建spark目录为pre-built spark形式。
2、在yarn上运行spark
修改spark配置,首先hive-site.xml文件放入spark目录下的conf文件中,以便支持hive。此时如果有一些不兼容的错误,需要修改hive-site.xml文件,
<property>
<name>hive.metastore.schema.verification</name>
<value>true</value>
</property>
将上面的value值改为false
修改spark-env.sh配置
export JAVA_HOME=/usr/java/jdk1.7.0_55-clouderaexport SCALA_HOME=/path/scala-2.10.5export HADOOP_CONF_DIR=/etc/hadoop/confexport HIVE_CONF_DIR=/etc/hive/confexport SPARK_EXECUTOR_INSTANCES=12export SPARK_EXECUTOR_CORES=6export SPARK_EXECUTOR_MEMORY=4Gexport SPARK_DRIVER_MEMORY=512Mexport SPARK_YARN_APP_NAME="spark-130"export SPARK_LIBRARY_PATH=${SPARK_HOME}/lib
以上的配置对spark on yarn 的client模式下起作用,如果配置其他的可以参考spark-env.sh.template文件说明,或者spark-shell --help查看
运行spark-sql会报缺少mysql驱动包错误,下载mysql-connector-java.jar包
在运行程序时进行指定一下就可以了
如下:
./spark-shell \ --master yarn-client \ --driver-class-path /path/spark-1.3.0-bin-hadoop2.3/lib/mysql-connector-java-5.1.18-bin.jar
3、说明
如果想让spark运行在yarn之上,spark部署将会非常简单。只需要将上面构建好的spark文件拷贝到driver机器上,运行spark bin目录下命令即可,如果是client模式,yarn将会按照conf/spark-env.sh文件中设置的cpu和内存、worker instances进行部署,部署工作由yarn进行分发,包括jar包的分发。如果是cluster模式,需要在命令行进行指定。
spark构建文件只需要放到一台机器上,就可以通过yarn启动数十台spark worker机器。
- spark1.3.0 on yarn 构建(hive0.12.0)
- Spark on Yarn ”爬坑“集锦(spark1.2)
- Spark1.0.0 on YARN 模式部署
- Spark1.0.0 on YARN 模式部署
- Spark1.5.2 on yarn fair scheduler 配置
- Spark1.6.3 on Yarn 调度总览
- Spark1.3.1 On Yarn的集群搭建
- 【甘道夫】Spark1.3.0 Running Spark on YARN 官方文档精华摘要
- Spark1.0.0 on YARN 运行架构实例解析
- Spark1.0.x入门指南(spark on yarn, standalone)
- HDP2.5.0 + Spark1.6.2 通过IDEA(Win64)远程提交spark jobs On YARN
- 基于hive0.13.1的spark1.6.0源码编译说明
- hadoop2.2+hive0.12.0
- ubuntu安装hive0.12.0
- spark1.4.0基于yarn的安装心得体会
- spark1.4.0基于yarn的安装心得体会
- spark on yarn 开发(begin)
- Storm(五)Storm on YARN介绍
- poj Round Numbers 3252(数位dp进阶)
- php redis brpop提示异常
- Exception occurred during processing request: null
- WordPress 建立数据库连接时出错解决方法
- 浅析设计模式之工厂方法模式及一篇相关翻译
- spark1.3.0 on yarn 构建(hive0.12.0)
- liunx环境下程序的编译和链接
- Memcache技术初步认识和基本的CRUD操作
- 优化数据页面(5)——加大字号突出标题行
- Ubuntu下使用解压版Tomcat7
- java socket编程实例
- Logistic regression---原理部分
- C++ 仿函数
- hdoj-1166-敌兵布阵(树状数组)