前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kyuubi集成spark场景

Kyuubi集成spark场景

作者头像
白胡子
发布2023-01-29 15:43:17
2K0
发布2023-01-29 15:43:17
举报

客户端启动方式

基于kyuubi-server启动

${kyport}默认10009

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://kyuubiserver:kyport/;user=hadoop"

基于zk-server启动

${zkport} 默认2181,推荐使用方式

代码语言:javascript
复制
kyuubi-beeline -u "jdbc:hive2://zkserver:zkport/;user=hadoop?serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi"

${kyuubiserver}:${kyport}kyuubi-defaults.confkyuubi.frontend.bind.port 配置。

${zkserver}:${zkport}kyuubi-defaults.confkyuubi.ha.zookeeper.quorum 配置。

执行SQL

执行SQL文件

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop" -f 1.sql

交互式执行

代码语言:javascript
复制
jdbc:hive2://ip:port> create table kyuubi_test(code int,name string);
+---------+
| Result  |
+---------+
+---------+
No rows selected (0.302 seconds)
jdbc:hive2://ip:port> show tables;
+-----------+----------------+--------------+
| database  |   tableName    | isTemporary  |
+-----------+----------------+--------------+
| default   | kyuubi_test    | false        |
+-----------+----------------+--------------+
1 row selected (0.101 seconds)

引擎共享级别

服务端级别

kyuubi-defaults.conf中设置kyuubi.engine.share.level(系统默认为USER,可以设置参数详见表1.1),此设置为集群默认共享级别。

客户端级别

用户可以提交自定义共享级别(覆盖服务端的默认设置),在JdbcUrl中设置kyuubi.engine.share.level(可以设置参数详见表1.1),示例命令如下

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?kyuubi.engine.share.level=CONNECTION"

配置参数参考

共享级别

语义

适用场景

隔离程度

共享程度

CONNECTION

每个Session启动一个引擎

大规模ETL

USER

每个用户一个引擎

Ad-hoc查询

GROUP

每个资源组一个引擎

Ad-hoc查询

SERVER

每个集群一个引擎

不建议生产

不建议生产

表1.1

引擎超时设置

启动一个引擎后,在引擎激活状态下,其他新提交的任务可以快速提交到该引擎并运行任务,当引擎超过闲置时间,系统将会回收引擎资源,再次提交则需要重新启动一个引擎。闲置时间参数kyuubi.session.engine.idle.timeout默认PT30M (30 min)

服务端设置

kyuubi-defaults.conf中设置kyuubi.session.engine.idle.timeout,此设置为集群默认超时时间。

客户端设置

用户可以提交自定义引擎超时时间(覆盖服务端的默认设置),在JdbcUrl中设置kyuubi.session.engine.idle.timeout,示例命令如下

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?kyuubi.session.engine.idle.timeout=PT10M"

配置参数参考

参数

默认值

语义

生效版本

kyuubi.session.engine.check.interval

PT5M

检查时间

1.0.0

kyuubi.session.engine.idle.timeout

PT30M

超时时间

1.0.0

客户端子域设置

当引擎级别为USER、GROUP、SERVER时,用户可通过配置实现单个(USER、GROUP、SERVER)实例下多个独立引擎实例。例如kyuubi.engine.share.level=USER,同一个用户通过业务隔离引擎,在JdbcUrl中设置kyuubi.engine.share.level.subdomain,示例如下:

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?kyuubi.engine.share.level.subdomain=sd1"
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?kyuubi.engine.share.level.subdomain=sd2"

Spark资源参数

参数设置分为3层,spark引擎设置 $SPARK_HOME/conf/spark-defaults.conf ;kyuubi引擎设置$KYUUBI_HOME/conf/kyuubi-defaults.conf,其中kyuubi设置可以覆盖spark设置。示例如下

服务端设置

配置spark服务级别的环境参数

代码语言:javascript
复制
spark.dynamicAllocation.enabled=false
spark.executor.memory=3g
spark.executor.cores=2
spark.executor.instances=10

配置用户级别的环境参数

代码语言:javascript
复制
# For a user named hadoop
___hadoop___.spark.dynamicAllocation.enabled=false
___hadoop___.spark.executor.memory=5g
___hadoop___.spark.executor.cores=2
___hadoop___.spark.executor.instances=10

客户端设置

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?spark.dynamicAllocation.enabled=false;spark.executor.cores=2;spark.executor.memory=4g;spark.executor.instances=4"

SparkDRA配置

参数设置分为3层,spark引擎设置 $SPARK_HOME/conf/spark-defaults.conf ;kyuubi引擎设置$KYUUBI_HOME/conf/kyuubi-defaults.conf,其中kyuubi设置可以覆盖spark设置。示例如下

服务端设置

spark服务级别建议配置,配置地址$SPARK_HOME/conf/spark-defaults.conf

代码语言:javascript
复制
spark.dynamicAllocation.enabled=true
##false if perfer shuffle tracking than ESS
spark.shuffle.service.enabled=true
spark.dynamicAllocation.initialExecutors=10
spark.dynamicAllocation.minExecutors=10
spark.dynamicAllocation.maxExecutors=500
spark.dynamicAllocation.executorAllocationRatio=0.5
spark.dynamicAllocation.executorIdleTimeout=60s
spark.dynamicAllocation.cachedExecutorIdleTimeout=30min
# true if perfer shuffle tracking than ESS
spark.dynamicAllocation.shuffleTracking.enabled=false
spark.dynamicAllocation.shuffleTracking.timeout=30min
spark.dynamicAllocation.schedulerBacklogTimeout=1s
spark.dynamicAllocation.sustainedSchedulerBacklogTimeout=1s
spark.cleaner.periodicGC.interval=5min

kyuubi用户级别配置,配置地址$KYUUBI_HOME/conf/kyuubi-defaults.conf

代码语言:javascript
复制
# For a user named hadoop
___hadoop___.spark.dynamicAllocation.maxExecutors=20
# For a user named hive
___hive___.spark.dynamicAllocation.maxExecutors=600

如上,hadoop可并行的executor不可超过20,hive可并行的excutor不可超过600

客户端设置

代码语言:javascript
复制
kyuubi-beeline  -u "jdbc:hive2://zkhost:2181/;user=hadoop?spark.sql.shuffle.partitions=2;spark.executor.memory=5g"

客户端设置生效范围:

Runtime SQL Configuration:实时生效

Static SQL and Spark Core Configuration: 如果当前提交新启一个引擎有效,延用已存引擎则无效

本文系外文翻译,前往查看

如有侵权,请联系?cloudcommunity@tencent.com?删除。

本文系外文翻译前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 客户端启动方式
    • 基于kyuubi-server启动
      • 基于zk-server启动
      • 执行SQL
        • 执行SQL文件
          • 交互式执行
          • 引擎共享级别
            • 服务端级别
              • 客户端级别
                • 配置参数参考
                • 引擎超时设置
                  • 服务端设置
                    • 客户端设置
                      • 配置参数参考
                      • 客户端子域设置
                      • Spark资源参数
                        • 服务端设置
                          • 客户端设置
                          • SparkDRA配置
                            • 服务端设置
                              • 客户端设置
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                              http://www.vxiaotou.com