Kyligence Copilot - AI 数智助理,以 AI 变革企业经营与管理! 立即了解更多

本地快速体验Kylin「搭建篇」

李森辉
2019年 4月 09日

今天,全球有超过1000+企业都在使用“麒麟”(Apache Kylin)这只神兽,在 Hadoop 生态中,大家对它的认可度和赞誉都很高。Apache Kylin 是运行在 Hadoop 集群之上的应用服务,而 Hadoop 集群的部署又并非易事,那这是否就阻碍了我们探究 Apache Kylin 的步伐呢?答案是否定的,通过借助强大的虚拟技术,在本地就能体验到“麒麟”的魅力,那么接下来就让我们一起进入“麒麟”的数据世界。

大数据分析领域生态

需要准备的材料有:

  • 一台8核,16G内存及以上配置的电脑
  • Oracle VirtualBox
  • Cloudera QuickStart VM
  • Oracle JDK 1.8
  • Apache Kylin 2.6.1(CDH版本)

安装Oracle VirtualBox

在此介绍的是 Oracle 旗下一款开源免费虚拟机软件,大家可到其官方网站:http://www.virtualbox.org 进行下载,关于其的安装与使用可自行 Google 搜索学习。顺便提下,VirtualBox 天生就是支持中文的哟。

开启Intel VT-x

Intel VT-x 完整名称是Intel Virtualization Technology,就是 Intel 虚拟技术,开启它可以让硬件平台同时运行多个操作系统,是虚拟机软件运行必备的技术之一。如果禁用,就会弹出“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”这个提示,解决办法就是进 BIOS 开启 Intel Virtualization Technology。

注:不同类型的主板选项会有差异,可自行 Google 搜索下。

Cloudera QuickStart VM

通过对比几款不同的 Hadoop 虚拟集成环境后,最终选择了 Cloudera 提供的 QuickStart VM 镜像。此 VM 提供了最小可用环境,并非再一次通过 Docker 虚拟化出来的,这样便减少了不必要的资源开销。大家可访问其官方下载渠道(https://www.cloudera.com/downloads/quickstart_vms/5-13.html)获取最新的版本,注意选择虚拟机的类型。

注:QuickStart VM 所涉及到的账户与密码默认都是 cloudera。

配置Hadoop环境

打开 Oracle VirtualBox 软件后在其主界面上点击左上方的管理菜单,找到导入虚拟电脑选项(或是使用 Ctrl+I 快捷组合键),点击进入并选取准备好的 QuickStart VM 文件,点击下一步配置虚拟电脑的资源。可根据实际情况分配资源,建议使用 4 核,8G 内存及以上配置。同时为方便管理可自定义虚拟电脑的名称,如下图所示。最后点击导入按钮,导入过程大约 10 分钟左右,具体视机器资源而定。

配置虚拟电脑

启动虚拟电脑之前还需要修改一下网络配置,默认为 NAT 网络类型,无法与本地宿主机进行通讯,建议改用桥接网络类型(此连接模式有个缺点,即宿主机断网后便无法虚拟电脑进行通讯)。至此虚拟电脑的所有配置就准备就绪,点击 Oracle VitrualBox 主界面上的快捷启动按钮启动虚拟电脑,启动过程大约等待 4~6 分钟,然后便可进入熟悉的 Linux 系统桌面,如下图所示。系统默认已经启动所有 Hadoop 生态服务,但不包括 CM 组件,如无特殊也不建议开启,因为需要更多的资源。

Cloudera QuickStart VM Desktop

考虑本地机器的资源有限,因此只需要开启 Apache Kylin 运行的基础服务,如 HDFS,HBase,Hive,ZooKeeper等相关的服务。打开终端并切换到 root 用户下,执行如下的命令关闭开机自启动服务,最后重新启动虚拟电脑。

[root@quickstart ~]# chkconfig flume-ng-agent off

[root@quickstart ~]# chkconfig hadoop-yarn-proxyserver off

[root@quickstart ~]# chkconfig hue off

[root@quickstart ~]# chkconfig htcacheclean off

[root@quickstart ~]# chkconfig impala-catalog off

[root@quickstart ~]# chkconfig impala-state-store off

[root@quickstart ~]# chkconfig oozie off

[root@quickstart ~]# chkconfig solr-server off

[root@quickstart ~]# chkconfig spark-history-server off

[root@quickstart ~]# chkconfig sqoop-metastore off

[root@quickstart ~]# chkconfig sqoop2-server off

[root@quickstart ~]# chkconfig spark-history-server off

安装Apache Kylin

建议使用非 root 用户来运行 Apache Kylin 应用服务,因此需要创建个新的 Linux 系统用户,比如 kylin。另外从 Apache Kylin 2.5+ 版本开始需要 JDK 1.8+ 的运行环境支持,通过SSH客户端工具把准备好的 Oracle JDK1.8 和 Apache Kylin 2.6.1 的安装包上传到虚拟电脑,并在当前 kylin 用户下配置 JAVA 的运行环境。

同时需要对 HBase 的 JAVA_HOME 变量做相应的调整,切换到 root 用户执行如下的命令,最后重新启动 HBase 相关的服务。

[root@quickstart ~]# vi /usr/lib/hbase/conf/hbase-env.sh

# The java implementation to use.  Java 1.7+ required.

export JAVA_HOME=/usr/lib/java/jdk1.8.0_201

# Tell HBase whether it should manage it's own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false

[root@quickstart ~]# service hbase-master restart

[root@quickstart ~]# service hbase-regionserver restart

[root@quickstart ~]# service hbase-rest restart

[root@quickstart ~]# service hbase-thrift restart

然后解压 Apache Kylin 安装压缩包到自定义的目录下,参考官方的安装步骤(https://kylin.apache.org/docs/install/index.html#kylin-installation)进行相关配置。由于 Cloudera QuickStart VM 提供的 CDH 5.13 版本中使用的是 JDK1.7 版本,所以需要对 ${KYLIN_HOME}/conf 目录下的 kylin_job_conf.xml 和 kylin_job_conf_inmem.xml 文件中增加如下的配置:

<property>

        <name>mapred.child.env</name>

        <value>JAVA_HOME=/usr/lib/java/jdk1.8.0_201</value>

    </property>

    <property>

        <name>yarn.app.mapreduce.am.env</name>

        <value>JAVA_HOME=/usr/lib/java/jdk1.8.0_201</value>

    </property>

最后执行 check-env.sh 进行环境检测无误后,使用 sample.sh 脚本导入自带的示例数据,导入成功后再切换到 ${KYLIN_HOME}/bin 目录下调用 kylin.sh start 命令启动。打开本地浏览器在地址栏输入 http://虚拟电脑IP:7070/kylin  进行访问,根据 Apache Kylin 官方网站的操作步骤进行相应 Cube 构建:https://kylin.apache.org/docs/tutorial/kylin_sample.html。

构建完成好后,可使用官方提供 SQL 进行测验对比,如下 2 张图所示,1 条普通的带去重和排序汇总 SQL 查询,Kylin 仅花费了 0.13s 的时间,而 Hive 却耗费 43s 的时间。

Kylin查询耗时

Hive查询耗时

怎么样!看到 Apache Kylin 如此之快的“神”速,是否也按捺不住想试一把,那就赶紧行动起来。下一次还会带来 Kylin 与 Zeppelin 整合做数据分析报告的精彩分享,欢迎持续关注。

添加企微

kyligence
关注我们

kyligence