美文网首页数据仓库开发环境安装
Apache Kylin 入门 3 - 安装与配置

Apache Kylin 入门 3 - 安装与配置

作者: rochy_he | 来源:发表于2018-10-21 00:13 被阅读311次

    Apache Kylin 入门系列目录

    安装 Kylin

    前面两篇文章介绍了 Apache Kylin 相关的基本概念以及其工作原理,下面将进入实战部分,首先就是安装部署与配置。

    大数据环境要求(V2.5.0)

    • Hadoop: 2.7+, 3.1+
    • Hive: 0.13 - 1.2.1+
    • HBase: 1.1+, 2.0
    • Spark (可选) 2.1.1+
    • Kafka (可选) 0.10.0+
    • JDK: 1.8+
    • OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+
    • HDP (官方已测试) 2.2 - 2.6 and 3.0
    • CDH (官方已测试) 5.7 - 5.11 and 6.0

    大数据环境要求(V2.4.X)

    • Hadoop: 2.7+
    • Hive: 0.13 - 1.2.1+
    • HBase: 1.1+
    • Spark (可选) 2.1.1+
    • Kafka (可选) 0.10.0+
    • JDK: 1.7+
    • OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+
    • HDP (官方已测试) 2.2 - 2.6
    • CDH (官方已测试) 5.7 - 5.11

    从上述配置可以看到,最新版(V2.5)有了诸多的变化,支持了 Hadoop 3.1,HBase 2.0;JDK 需求为 JDK8;CDH 用户需要注意的是:V2.5 已经支持 CDH 6.0 了

    硬件配置

    最低配置(官方网站)
    • 4 core CPU
    • 16 GB memory
    • 100 GB disk
    推荐配置(KAP 官方文档)
    • 两路 Intel 至强处理器,6核(或8核)CPU,主频 2.3GHz 或以上
    • 64GB memory
    • 至少 1 个 1TB 的 SAS 硬盘(3.5寸),7200RPM,RAID1

    安装包文件目录说明

    • bin:Kylin 脚本所在目录,包括:启停管理、元数据管理、环境检查、创建样例等脚本;
    • conf:Kylin 配置文件所在目录,包括:Hive、Job、Kylin 运行参数、Kylin Config 等;
    • lib:Kylin JDBC 驱动,HBase Coprocessor 协处理器 jar 所在目录;
    • meta_backups:Kylin 元数据备份目录;
    • sample_cube:官方样例所依赖的脚本和数据;
    • sys_cube:系统 Cube 构建所依赖的脚本;
    • spark:默认为自带的 spark,图中是一个软连接,指向地址为单独部署的 Spark。
    Kylin 目录

    安装部署 Kylin

    详细步骤可参考官方网站,下面简单介绍 Kylin 的安装步骤:

    1. 从官方网站下载合适的版本;
    2. 解压安装包,配置环境变量 KYLIN_HOME 指向 Kylin 文件夹;
    3. 检查 Kylin 运行环境:$KYLIN_HOME/bin/check-env.sh
    4. 启动 Kylin:$KYLIN_HOME/bin/kylin.sh start
    5. 通过浏览器 http://hostname:7070/kylin 查看,初始用户名和密码为 ADMIN/KYLIN
    6. 运行 $KYLIN_HOME/bin/kylin.sh stop 即可停止 Kylin。

    参数配置

    配置文件一览

    组件名 文件名 描述
    Kylin kylin.properties Kylin 使用的全局配置文件
    Kylin kylin_hive_conf.xml Hive 任务的配置项,在构建 Cube 的第一步通过 Hive 生成中间表时,会根据该文件的设置调整 Hive 的配置参数
    Kylin kylin_job_conf_inmem.xml 包含了 MR 任务的配置项,当 Cube 构建算法是 Fast Cubing 时,会根据该文件的设置调整构建任务中的 MR 参数
    Kylin kylin_job_conf.xml MR 任务的配置项,当 kylin_job_conf_inmem.xml 不存在,或 Cube 构建算法是 Layer Cubing 时,会根据该文件的设置调整构建任务中的 MR 参数
    Hadoop core-site.xml Hadoop使用的全局配置文件,用于定义系统级别的参数,如HDFS URL、Hadoop临时目录等
    Hadoop hdfs-site.xml 用于配置HDFS参数,如 NameNode 与 DataNode 存放位置、文件副本个数、文件读取权限等
    Hadoop yarn-site.xml 用于配置 Hadoop 集群资源管理系统参数,如 ResourceManader 与 NodeManager 的通信端口,web监控端口等
    Hadoop mapred-site.xml 用于配置 MR 参数,如 reduce 任务的默认个数,任务所能够使用内存的默认上下限等
    Hbase hbase-site.xml 用于配置 Hbase 运行参数,如 master 机器名与端口号,根数据存放位置等
    Hive hive-site.xml 用于配置 Hive 运行参数,如 hive 数据存放目录,数据库地址等

    Hadoop 参数配置

    • yarn.nodemanager.resource.memory-mb 配置项的值不小于 8192MB
    • yarn.scheduler.maximum-allocation-mb 配置项的值不小于 4096MB
    • mapreduce.reduce.memory.mb 配置项的值不小于 700MB
    • mapreduce.reduce.java.opts 配置项的值不小于 512MB
    • yarn.nodemanager.resource.cpu-vcores 配置项的值不小于 8

    kylin.properties 核心参数

    配置名 默认值 说明
    kylin.metadata.url kylin_metadata@hbase Kylin 元数据库路径
    kylin.env.hdfs-working-dir /kylin Kylin 服务所用的 HDFS 路径
    kylin.server.mode all 运行模式,可以是 all,job,query 中的一个
    kylin.source.hive.database-for-flat-table default Hive 中间表保存在哪个 Hive 数据库中
    kylin.storage.hbase.compression-codec none HTable 所采用的压缩算法
    kylin.storage.hbase.table-name-prefix kylin_ HTable 表名的前缀
    kylin.storage.hbase.namespace default HTable 默认表空间
    kylin.storage.hbase.region-cut-gb 5 region 分割的大小
    kylin.storage.hbase.hfile-size-gb 2 hfile 大小
    kylin.storage.hbase.min-region-count 1 最小 region 个数
    kylin.storage.hbase.max-region-count 500 最大 region 个数
    kylin.query.force-limit -1 select *语句强制添加 LIMIT 分句
    kylin.query.pushdown.update-enabled false 是否开启查询下压
    kylin.query.pushdown.cache-enabled false 开启查询是否缓存
    kylin.cube.is-automerge-enabled true segment 自动合并功能
    kylin.metadata.hbase-client-scanner-timeout-period 10000 HBase 扫描数据的超时时间
    kylin.metadata.hbase-rpc-timeout 5000 执行 RPC 操作的超时时间
    kylin.metadata.hbase-client-retries-number 1 HBase 重试次数

    对上述参数的一些说明:

    • kylin.query.force-limit 默认是没有限制,推荐设置为 1000;
    • kylin.storage.hbase.hfile-size-gb 可以设置为 1,有助于加快 MR 速度;
    • kylin.storage.hbase.min-region-count 可以设置为 HBase 节点数,强制数据分散在 N 个节点;
    • kylin.storage.hbase.compression-codec 默认没有进行压缩,推荐在环境运行情况下配置压缩算法。

    Spark 相关配置

    所有使用 kylin.engine.spark-conf. 作为前缀的 Spark 配置属性都能在 $KYLIN_HOME/conf/kylin.properties 中进行管理,当然这些参数支持在 Cube 的高级配置中进行覆盖。下面是推荐的 Spark 动态资源分配配置:

    //运行在yarn-cluster模式,当然可以配置为独立 Spark 集群:spark://ip:7077
    kylin.engine.spark-conf.spark.master=yarn
    kylin.engine.spark-conf.spark.submit.deployMode=cluster 
    
    //启动动态资源分配
    kylin.engine.spark-conf.spark.dynamicAllocation.enabled=true
    kylin.engine.spark-conf.spark.dynamicAllocation.minExecutors=2
    kylin.engine.spark-conf.spark.dynamicAllocation.maxExecutors=1000
    kylin.engine.spark-conf.spark.dynamicAllocation.executorIdleTimeout=300
    kylin.engine.spark-conf.spark.shuffle.service.enabled=true
    kylin.engine.spark-conf.spark.shuffle.service.port=7337
    
    //内存设置
    kylin.engine.spark-conf.spark.driver.memory=2G
    
    //数据规模较大或者字典较大时可以调大 executor 内存
    kylin.engine.spark-conf.spark.executor.memory=4G 
    kylin.engine.spark-conf.spark.executor.cores=2
    
    //心跳超时
    kylin.engine.spark-conf.spark.network.timeout=600
    
    //分区大小
    kylin.engine.spark.rdd-partition-cut-mb=100
    

    Cube Planner 相关配置

    Cube Planner 是 V2.3 后添加的新功能,使用该功能可以在 Cube 创建成功后即可看到全部 Cuboid 的数目及组合情况;此外配置成功后,可以看到线上的 Query 与 Cuboid 的匹配情况,使得可以查看到热门、冷门甚至没有使用到的 Cuboid,借助这些可以指导我们对 Cube 构建进行二次优化;关于 Cube Planner 的使用,可以参考官方文档:http://kylin.apache.org/cn/docs/tutorial/use_cube_planner.html

    Cube Planner 查询冷热 Cuboid

    参考文章


    Any Code,Code Any!

    扫码关注『AnyCode』,编程路上,一起前行。

    AnyCode

    相关文章

      网友评论

        本文标题:Apache Kylin 入门 3 - 安装与配置

        本文链接:https://www.haomeiwen.com/subject/riyvzftx.html