Spark Multi Tenancyspark

Spark Multi Tenancy系列 - 3 项目简介

2017-09-05  本文已影响706人  Kent_Yao

项目地址

A Fully HiveServer2-like Multi-tenancy Spark Thrift Server Supporting Impersonation and Multi-SparkContext
https://github.com/yaooqinn/multi-tenancy-spark

项目特性

静态模式

启动
./sbin/start-thriftserver.sh
停止
./sbin/stop-thriftserver.sh
配置
## 静态方式下用户的sc直接在thrift server启动时拉起,也不回收;可通过该配置项指定具体拉起的用户及其sc
spark.sql.proxy.users                                 user1,user2,...
## 指定属于该用户的队列名
spark.sql.queue.da_edu                                queue1
spark.sql.queue.beauty                                queue2

其中,这些用户需要能被spark.yarn.principal里的用户代理
在hdfs上有对应权限的staging目录,一般是/user/username
其他配置按照spark常规的配置即可

连接

bin/beeline -u "jdbc:hive2://kent.spark.org:10000/default;principal=hive/app-20.photo.163.org@HADOOP.HZ.NETEASE.COM;hive.server2.proxy.user=user1"

如果配置正确,该session会在user1启动的sc下执行相关的sql

动态模式

启动
./sbin/start-multitenancy-server.sh
停止
./sbin/stop-multitenancy-server.sh
配置

动态的配置只需要按spark常规的配置即可,启动参数除了默认的spark-defaults.conf里面配置以外,可以通过Thrift连接串指定,默认sc是20min空闲自动关闭,所以一旦sc启动了,默写静态的参数就无法再修改了,得等他超时被stop掉

连接
 bin/beeline -u "jdbc:hive2://kent.spark.org::10001/default;principal=hive/_HOST@TEST.AMBARI.NETEASE.COM;hive.server2.proxy.user=spark_test#hive.metastore.warehouse.dir=/user/spark_test/warehouse;spark.executor.memory=10g"

上例中,可指定该spark_test用户执行,设置默认的warehouse路径为/user/spark_test/warehouse;executor内存为10g

上一篇 下一篇

猜你喜欢

热点阅读