Kylin 配置
配置文件及参数重写
本小节介绍 Kylin 的配置文件和如何进行配置重写。
Kylin 配置文件
Kylin 会自动从环境中读取 Hadoop 配置(core-site.xml),Hive 配置(hive-site.xml)和 HBase 配置(hbase-site.xml),另外,Kylin 的配置文件在 $KYLIN_HOME/conf/ 目录下,如下:
配置重写
$KYLIN_HOME/conf/ 中有部分配置项可以在 Web UI 界面进行重写,配置重写分为项目级别配置重写和 Cube 级别配置重写。配置重写的优先级关系为:Cube 级别配置重写 > 项目级别配置重写 > 全局配置文件。
项目级别配置重写
在 Web UI 界面点击 Manage Project ,选中某个项目,点击 Edit -> Project Config -> + Property,进行项目级别的配置重写,如下图所示:
Cube 级别配置重写
在设计 Cube (Cube Designer)的 Configuration Overwrites 步骤可以添加配置项,进行 Cube 级别的配置重写,如下图所示:
以下参数可以在 Cube 级别重写:
MapReduce 任务配置重写
Kylin 支持在项目和 Cube 级别重写 kylin_job_conf.xml 和 kylin_job_conf_inmem.xml 中参数,以键值对的性质,按照如下格式替换:
kylin.engine.mr.config-override.
- 如果用户希望任务从 Yarn 获得更多内存,可以这样设置:
kylin.engine.mr.config-override.mapreduce.map.java.opts=-Xmx7g 和 kylin.engine.mr.config-override.mapreduce.map.memory.mb=8192 - 如果用户希望 Cube 的构建任务使用不同的 YARN resource queue,可以设置:
kylin.engine.mr.config-override.mapreduce.job.queuename={queueName}
Hive 任务配置重写
Kylin 支持在项目和 Cube 级别重写 kylin_hive_conf.xml 中参数,以键值对的性质,按照如下格式替换:
kylin.source.hive.config-override.
如果用户希望 Hive 使用不同的 YARN resource queue,可以设置:
kylin.source.hive.config-override.mapreduce.job.queuename={queueName}
Spark 任务配置重写
Kylin 支持在项目和 Cube 级别重写 kylin.properties 中的 Spark 参数,以键值对的性质,按照如下格式替换:
kylin.engine.spark-conf.
如果用户希望 Spark 使用不同的 YARN resource queue,可以设置:
kylin.engine.spark-conf.spark.yarn.queue={queueName}
部署配置
本小节介绍部署 Kylin 相关的配置。
部署 Kylin
分配更多内存给 Kylin 实例
在 $KYLIN_HOME/conf/setenv.sh 中存在对 KYLIN_JVM_SETTINGS 的两种示例配置。
默认配置使用的内存较少,用户可以根据自己的实际情况,注释掉默认配置并取消另一配置前的注释符号以启用另一配置,从而为 Kylin 实例分配更多的内存资源,该项配置的默认值如下:
export KYLIN_JVM_SETTINGS=”-Xms1024M -Xmx4096M -Xss1024K -XXMaxPermSize=512M -verbose
gc -XX+PrintGCDetails -XX
+PrintGCDateStamps -Xloggc$KYLIN_HOME/logs/kylin.gc.$$ -XX
+UseGCLogFileRotation -XXNumberOfGCLogFiles=10 -XX
GCLogFileSize=64M”
export KYLIN_JVM_SETTINGS=”-Xms16g -Xmx16g -XXMaxPermSize=512m -XX
NewSize=3g -XXMaxNewSize=3g -XX
SurvivorRatio=4 -XX+CMSClassUnloadingEnabled -XX
+CMSParallelRemarkEnabled -XX+UseConcMarkSweepGC -XX
+CMSIncrementalMode -XXCMSInitiatingOccupancyFraction=70 -XX
+UseCMSInitiatingOccupancyOnly -XX+DisableExplicitGC -XX
+HeapDumpOnOutOfMemoryError -verbosegc -XX
+PrintGCDetails -XX+PrintGCDateStamps -Xloggc
$KYLIN_HOME/logs/kylin.gc.$$ -XX+UseGCLogFileRotation -XX
NumberOfGCLogFiles=10 -XX`GCLogFileSize=64M”
任务引擎高可用
任务引擎安全模式
安全模式仅在默认调度器中生效
读写分离配置
RESTful Webservice
Metastore 配置
本小节介绍 Kylin Metastore 相关的配置。
元数据相关
基于 MySQL 的 Metastore (测试)
构建配置
本小节介绍 Kylin 数据建模及构建相关的配置。
Hive 客户端 & SparkSQL
配置 JDBC 数据源
数据类型精度
Cube 设计
Cube 大小估计
Kylin 和 HBase 都在写入磁盘时使用压缩,因此,Kylin 将在其原来的大小上乘以比率来估计 Cube 大小。
Cube 构建算法
自动合并
维表快照
Cube 构建
字典相关
超高基维度的处理
Cube 构建默认在 Extract Fact Table Distinct Column 这一步为每一列分配一个 Reducer,对于超高基维度,可以通过以下参数增加 Reducer 个数
Spark 构建引擎
通过 Livy 提交 Spark 任务
Spark 资源动态分配
任务相关
启用邮件通知
启用 Cube Planner
HBase 存储
备用 Hbase 存储
Kylin支持用户配置备用Hbase,这样在集群迁移时,Kylin仍然可以从旧集群中查询到构建好的Cube数据。
任务输出
为了避免job output的内容太多,用户可以设置output的最大长度。
启用压缩
Kylin 在默认状态下不会启用压缩,不支持的压缩算法会阻碍 Kylin 的构建任务,但是一个合适的压缩算法可以减少存储开销和网络开销,提高整体系统运行效率。
Kylin 可以使用三种类型的压缩,分别是 HBase 表压缩,Hive 输出压缩 和 MapReduce 任务输出压缩。
该项压缩通过 kyiln.properties 中的 kylin.storage.hbase.compression-codec 进行配置,参数值可选 none,snappy, lzo, gzip, lz4),默认值为 none,即不压缩数据。
该项压缩通过 kylin_hive_conf.xml 进行配置,默认配置为空,即直接使用了 Hive 的默认配置。如果想重写配置,请在 kylin_hive_conf.xml 中添加 (或替换) 下列属性。以 SNAPPY 压缩为例:
该项压缩通过 kylin_job_conf.xml 和 kylin_job_conf_inmem.xml 进行配置。默认值为空,即使用 MapReduce 的默认配置。如果想重写配置,请在 kylin_job_conf.xml 和 kylin_job_conf_inmem.xml 中添加 (或替换) 下列属性。以 SNAPPY 压缩为例:
实时 OLAP
全局设置
Cube 级别设置
高级设置
存储清理配置
本小节介绍 Kylin 存储清理有关的配置。
存储清理相关
查询配置
本小节介绍 Kylin 查询有关的配置。
查询相关
模糊查询
查询缓存
查询限制
坏查询
kylin.query.timeout-seconds 的值为大于 60 或为 0,kylin.query.timeout-seconds-coefficient 其最大值为 double 的上限。这两个参数的乘积为坏查询检查的间隔时间,如果为 0,那么会设为 60 秒,最长秒数是 int 的最大值。
查询下压
查询改写
收集查询指标到 JMX
收集查询指标到 dropwizard
安全配置
本小节介绍 Kylin 安全有关的配置。
集成 LDAP 实现单点登录
集成 Apache Ranger
启用 ZooKeeper ACL
使用 Memcached 作为 Kylin 查询缓存
从 v2.6.0,Kylin 可以使用 Memcached 作为查询缓存,一起引入的还有一系列缓存增强 (KYLIN-2895)。想要启用该功能,您需要执行以下步骤:
注释如下代码:
取消如下代码的注释:
applicationContext.xml 中 ${kylin.cache.memcached.hosts} 的值就是在 conf/kylin.properties 中指定的 kylin.cache.memcached.hosts 的值。
3.在 conf/kylin.properties 中添加如下参数:
更新时间:2024-07-10 22:55