hive on spark部署

来源:互联网 发布:淘宝有卖电棍的么 编辑:程序博客网 时间:2024/04/26 14:50

本文档相关软件的版本: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.jarexport 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:18080spark.eventLog.enabled truespark.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

0 0
原创粉丝点击