Kylin配置初步拟成
Kylin 配置文件解析
Kylin 会自动从环境中读取 Hadoop 配置(core-site.xml),Hive 配置(hive-site.xml)和 HBase 配置(hbase-site.xml),另外,Kylin 的配置文件在 $KYLIN_HOME/conf/ 目录下
kylin_hive_conf.xml:该文件包含了 Hive 任务的配置项依赖于我们自己的hive配置如果我们不需要可以再里面重置
kylin_job_conf.xml & kylin_job_conf_inmem.xml:该文件包含了 MapReduce 任务的配置项。
执行 In-mem Cubing 任务时,需要在 kylin_job_conf_inmem.xml 中为 mapper 申请更多的内存
kylin-kafka-consumer.xml:该文件包含了 Kafka 任务的配置项
kylin-server-log4j.properties:该文件包含了 Kylin 服务器的日志配置项。
kylin-tools-log4j.properties:该文件包含了 Kylin 命令行的日志配置项。
setenv.sh :该文件是用于设置环境变量的 shell 脚本,可以通过 KYLIN_JVM_SETTINGS 调整 Kylin JVM 栈的大小,且可以设置 KAFKA_HOME 等其他环境变量。
kylin.properties:该文件是 Kylin 使用的全局配置文件
kylin 有自己的文件合并设置,所以不能引用hive的文件设置
hive.merge.mapfiles=false
MapReduce配置覆盖
Kylin支持以键-值对的形式,在项目和多维数据集级别中kylin_job_conf.xml以及kylin_job_conf_inmem.xml项目和多维数据集级别上重写配置属性,格式如下:(例如我们hadoop没有开启map端聚合,map和reduce端压缩我们都可以在这里设置去覆盖hive)
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
*如果我们希望多维数据集的构建作业使用不同的YARN资源队列,用户可以设置:
kylin.engine.mr.config-override.mapreduce.job.queuename={queueName}
RESTful Web服务
kylin.web.timezone:指定Kylin的REST服务使用的时区。默认值为GMT + 8。
kylin.web.cross-domain-enabled:是否支持跨域访问。默认值是true
kylin.web.export-allow-admin:是否支持管理员用户导出信息。默认值是true
kylin.web.export-allow-other:是否支持其他用户导出信息。默认值是true
kylin.web.dashboard-enabled:是否启用仪表板。默认值为FALSE
与元数据有关
kylin.metadata.url:指定元数据路径。默认值为kylin_metadata @ hbase
kylin.metadata.dimension-encoding-max-length:指定将维度用作具有fix_length编码的Rowkey时的最大长度。默认值为256。
kylin.metadata.sync-retries:指定元数据同步重试次数。预设值为3。
kylin.metadata.sync-error-handler:默认值为DefaultSyncErrorHandler
kylin.metadata.check-copy-on-write:是否清除元数据缓存,默认值为FALSE
kylin.metadata.hbase-client-scanner-timeout-period:指定HBase客户端发起的RPC调用之间的总超时。默认值为10000(ms)。
kylin.metadata.hbase-rpc-timeout:指定HBase执行RPC操作的超时时间。默认值为5000(毫秒)。
kylin.metadata.hbase-client-retries-number:指定HBase重试的次数。默认值为1(次)。
kylin.metadata.resource-store-provider.jdbc:指定JDBC使用的类。默认值为org.apache.kylin.common.persistence.JDBCResourceStore
启用压缩
麒麟默认情况下不启用“启用压缩”。不支持的压缩算法可能会阻碍Kylin的构建工作,但是合适的压缩算法可以减少存储开销和网络开销,并提高整体系统运行效率。
Kylin可以使用三种类型的压缩:HBase表压缩,Hive输出压缩和MapReduce作业输出压缩。
注意:压缩设置在重新启动Kylin实例后才会生效。
HBase表压缩
此压缩由kylin.storage.hbase.compression-codecin 配置kyiln.properties。可选值包括none,snappy,lzo,gzip和lz4。默认值为none,表示没有数据被压缩。
注意:在修改压缩算法之前,请确保用户HBase集群支持所选的压缩算法。
蜂巢输出压缩
此压缩由配置kylin_hive_conf.xml。默认配置为空,这意味着直接使用Hive的默认配置。如果用户要覆盖配置,请在中添加(或替换)以下属性kylin_hive_conf.xml。以SNAPPY压缩为例:
mapreduce.map.output.compress.codec org.apache.hadoop.io.compress.SnappyCodec mapreduce.output.fileoutputformat.compress.codec org.apache.hadoop.io.compress.SnappyCodec MapReduce作业输出压缩 此压缩是通过kylin_job_conf.xml和配置的kylin_job_conf_inmem.xml。默认值为空,它使用MapReduce的默认配置。如果用户要覆盖配置,请在kylin_job_conf.xml和中添加(或替换)以下属性kylin_job_conf_inmem.xml。以SNAPPY压缩为例: mapreduce.map.output.compress.codec org.apache.hadoop.io.compress.SnappyCodec mapreduce.output.fileoutputformat.compress.codec org.apache.hadoop.io.compress.SnappyCodec Kylin其余配置 kylin.query.cache-enabled=true 开启缓存当我们再次查询可以从缓存中读取数据 kylin.query.lazy-query-enabled=true 开启懒查询 kylin.query.cache-signature-enabled=true 是否使用查询的签名来确定缓存的有效性。签名是由项目的多维数据集/混合列表,它们的上次构建时间和其他信息(在持久化缓存时 kylin.query.segment-cache-enabled=true 否将段级别返回的数据(从HBase存储)缓存到Memcached中
kylin.cache.memcached.hosts=memcached1:11211,memcached2:11211,memcached3:11211 kylin集群节点还有端口kylin
kylin.query.cache-enabled=true否启用缓存
kylin.query.cache-threshold-duration=6000 (保持与es限制相同的超时时间)超过阈值的查询持续时间保存在缓存中
kylin.query.cache-threshold-scan-count=10240 查询中扫描的行数超过阈值将保存在缓存中。
kylin.job.log-dir:默认值为/ tmp / kylin / logs
kylin.job.allow-empty-segment:容忍的数据源是否为空。默认值为TRUE
kylin.job.max-concurrent-jobs:指定最大构建并发性,默认为10
kylin.job.retry:指定作业失败后的重试时间。默认值为0
kylin.job.retry-interval:指定重试间隔(以毫秒为单位)。默认值为30000
kylin.job.scheduler.priority-considered:是否考虑工作优先级。默认值为FALSE
kylin.job.scheduler.priority-bar-fetch-from-queue:指定从优先级队列中获取作业的时间间隔。默认值为20(s)
kylin.job.scheduler.poll-interval-second:从队列中获取作业的时间间隔。默认值为30(s)
kylin.job.error-record-threshold:指定作业引发错误消息的阈值。默认值为0
kylin.job.cube-auto-ready-enabled:是否在构建完成后自动启用Cube。默认值为TRUE
kylin.cube.max-building-segments:指定一个多维数据集的最大建筑作业数。预设值为10
kylin.job.notification-enabled:是否在作业成功或失败时通知电子邮件。默认值为FALSE
kylin.job.notification-mail-enable-starttls:#是否启用starttls。默认值为FALSE
kylin.job.notification-mail-host:指定邮件的SMTP服务器地址
kylin.job.notification-mail-port:指定邮件的SMTP服务器端口。默认值为25
kylin.job.notification-mail-username:指定邮件的登录用户名
kylin.job.notification-mail-password:指定电子邮件的用户名和密码
kylin.job.notification-mail-sender:指定电子邮件的电子邮件地址
kylin.job.notification-admin-emails:指定管理员的电子邮件通知邮箱