今天,全球有超过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 用户下,执行如下的命令关闭开机自启动服务,最后重新启动虚拟电脑。
[[email protected] ~]# chkconfig flume-ng-agent off
[[email protected] ~]# chkconfig hadoop-yarn-proxyserver off
[[email protected] ~]# chkconfig hue off
[[email protected] ~]# chkconfig htcacheclean off
[[email protected] ~]# chkconfig impala-catalog off
[[email protected] ~]# chkconfig impala-state-store off
[[email protected] ~]# chkconfig oozie off
[[email protected] ~]# chkconfig solr-server off
[[email protected] ~]# chkconfig spark-history-server off
[[email protected] ~]# chkconfig sqoop-metastore off
[[email protected] ~]# chkconfig sqoop2-server off
[[email protected] ~]# 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 相关的服务。
[[email protected] ~]# 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
[[email protected] ~]# service hbase-master restart
[[email protected] ~]# service hbase-regionserver restart
[[email protected] ~]# service hbase-rest restart
[[email protected] ~]# 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查询耗时
-
Kylin查询耗时
Hive查询耗时
怎么样!看到 Apache Kylin 如此之快的“神”速,是否也按捺不住想试一把,那就赶紧行动起来。下一次还会带来 Kylin 与 Zeppelin 整合做数据分析报告的精彩分享,欢迎持续关注。
了解更多大数据资讯,点击进入Kyligence官网