hive on spark部署

4 篇文章 0 订阅

本文档相关软件的版本:spark-1.0.2、hadoop2.4.0和hive-0.13.0

一、编译打包

1、准备

       将 hadoop gateway所使用的 hadoop 相关配置文件(*-site.xml)放到 spark 的代码里的 core/src/main/resources/下进行打包,否则可能会出现找不到rm以及 nn 等情况。

2、打发布包

      spark的编译方式有多种,这里只讲解用脚本使用maven进行编译打包的方法,在用编译打包之前需要给maven进程配置足够内存:

   export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m”

      spark默认编译包不支持hive,需要在编译的时候需要通过--with-hive指定,在spark源代码路径下执行:

   ./make-distribution.sh --hadoop 2.4.0 --with-yarn --tgz —with-hive

运行完成之后会生成一个发布包:spark-1.0.2-bin-2.4.0.tgz


二、部署

1、拷贝spark-1.0.2-bin-2.4.0.tgz包到部署节点并解压

2、拷贝hive的配置hive-site.xml文件到conf/目录下

3、拷贝mysql-connector-java-5.1.15-bin.jar包到lib/目录下

4、上传lib/spark-assembly-1.0.2-hadoop2.4 .0.jar文件到hdfs目录hdfs://ns1//spark/jars下

5、配置conf/spark-env.sh,内容如下:

export SPARK_JAR=hdfs://ns1//spark/jars/spark-assembly-1.0.2-hadoop2.4 .0.jar
export HADOOP_CONF_DIR=/usr/local/hadoop-2.4.0/etc/hadoop 
export YARN_CONF_DIR=/usr/local/hadoop-2.4.0/etc/hadoop 
export SPARK_YARN_USER_ENV="CLASSPATH=/usr/local/hadoop-2.4.0/etc/hadoop/"
export SPARK_SUBMIT_LIBRARY_PATH=/usr/local/hadoop-2.4.0/lib/native/
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/spark-1.0.2/lib/mysql-connector-java-5.1.15-bin.jar

配置conf/spark-defaults.conf,内容如下:

spark.yarn.historyServer.address 10.39.5.23:18080
spark.eventLog.enabled true
spark.eventLog.dir   hdfs://ns1/spark/logs


三、启动spark的history server

执行:

./sbin/start-history-server.sh hdfs://ns1/spark/logs/

四、验证

1、spark安装目录下执行:

./bin/spark-shell --master yarn  --num-executors 4 --driver-memory 2g --executor-memory 2g --executor-cores 1


2、spark-shell启动成功之后分别执行以下三行命令

val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
import hiveContext._
hql("select * from mds_user_info limit 1”).collect().foreach(println)

如果执行成功,说明hive on spark部署成功

======================================

也可以参考我同事的blog:

http://dj1211.com/?p=221

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值