软件要求
- Hadoop: cdh5.x, cdh6.x, hdp2.x, EMR5.x, EMR6.x, HDI4.x
- Hive: 0.13 - 1.2.1+
- Spark: 2.4.7
- Mysql: 5.1.17及以上
- JDK: 1.8+
- OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+
在 Hortonworks HDP2.4, Cloudera CDH 5.7 and 6.3.2, AWS EMR 5.31 and 6.0, Azure HDInsight 4.0 上测试通过。
我们建议您使用集成的 sandbox 来试用 Kylin 或进行开发,比如 HDP sandbox,且要保证其有至少 10 GB 内存。在配置沙箱时,我们推荐您使用 Bridged Adapter 模型替代 NAT 模型。
硬件要求
运行 Kylin 的服务器的最低配置为 4 core CPU,16 GB 内存和 100 GB 磁盘。 对于高负载的场景,建议使用 24 core CPU,64 GB 内存或更高的配置。
Hadoop 环境
Kylin 依赖于 Hadoop 集群处理大量的数据集。您需要准备一个配置好 HDFS, YARN, Hive, Zookeeper, Spark以及你可能需要的其他服务的 Hadoop 集群供 Kylin 运行。
Kylin 可以在 Hadoop 集群的任意节点上启动。方便起见,您可以在 master 节点上运行 Kylin。但为了更好的稳定性,我们建议您将 Kylin 部署在一个干净的 Hadoop client 节点上,该节点上 Hive,HDFS 等命令行已安装好且 client 配置(如 core-site.xml
,hive-site.xml
及其他)也已经合理的配置且其可以自动和其它节点同步。
运行 Kylin 的 Linux 账户要有访问 Hadoop 集群的权限,包括创建/写入 HDFS 文件夹,Hive 表的权限。
Kylin 安装
- 从 Apache Kylin下载网站 下载一个 Apache Kylin 4.0 的二进制文件。可通过如下命令行下载得到:
cd /usr/local/
wget http://mirror.bit.edu.cn/apache/kylin/apache-kylin-4.0.0/apache-kylin-4.0.0-bin.tar.gz
- 解压 tar 包,配置环境变量
$KYLIN_HOME
指向 Kylin 文件夹。
tar -zxvf apache-kylin-4.0.0-bin.tar.gz
cd apache-kylin-4.0.0-bin
export KYLIN_HOME=`pwd`
- 使用脚本下载spark:
$KYLIN_HOME/bin/download-spark.sh
或者配置 SPARK_HOME 指向环境中的 spark2.4.7 的路径。
- 配置 Mysql 元数据
Kylin 4.0 使用 Mysql 作为元数据存储,需要在 kylin.properties 中做如下配置:
kylin.metadata.url=kylin_metadata@jdbc,driverClassName=com.mysql.jdbc.Driver,url=jdbc:mysql://localhost:3306/kylin_test,username=,password=
kylin.env.zookeeper-connect-string=ip
你需要修改其中的 Mysql 用户名和密码,以及存储元数据的database和table。并将 mysql jdbc connector 放在 $KYLIN_HOME/ext
目录下,没有该目录时请自行创建。
请参考 配置 Mysql 为 Metastore 了解 Mysql 作为 Metastore 的详细配置。
Kylin tarball 目录
bin
: shell 脚本,用于启动/停止 Kylin,备份/恢复 Kylin 元数据,以及一些检查端口、获取 Hive/HBase 依赖的方法等;conf
: Hadoop 任务的 XML 配置文件,这些文件的作用可参考配置页面lib
: 供外面应用使用的 jar 文件,例如 Hadoop 任务 jar.meta_backups
: 执行bin/metastore.sh backup
后的默认的备份目录;sample_cube
用于创建样例 Cube 和表的文件。spark
: 使用kylin脚本下载得到的 spark。tomcat
: 自带的 tomcat,用于启动 Kylin 服务。tool
: 用于执行一些命令行的jar文件。
为某些环境执行额外步骤
对于 CDH6.x, EMR5.x, EMR6.x 的 hadoop 环境,在启动 kylin 之前需要执行一些额外的步骤。
CDH6.x 环境请查看文档: https://cwiki.apache.org/confluence/display/KYLIN/Deploy+Kylin+4+on+CDH+6
EMR 环境请查看文档: https://cwiki.apache.org/confluence/display/KYLIN/Deploy+Kylin+4+on+AWS+EMR
检查运行环境
Kylin 运行在 Hadoop 集群上,对各个组件的版本、访问权限及 CLASSPATH 等都有一定的要求,为了避免遇到各种环境问题,您可以运行 $KYLIN_HOME/bin/check-env.sh
脚本来进行环境检测,如果您的环境存在任何的问题,脚本将打印出详细报错信息。如果没有报错信息,代表您的环境适合 Kylin 运行。
启动 Kylin
运行 $KYLIN_HOME/bin/kylin.sh start
脚本来启动 Kylin,界面输出如下:
Retrieving hadoop conf dir...
KYLIN_HOME is set to /usr/local/apache-kylin-4.0.0-bin
......
A new Kylin instance is started by root. To stop it, run 'kylin.sh stop'
Check the log at /usr/local/apache-kylin-4.0.0-bin/logs/kylin.log
Web UI is at http://<hostname>:7070/kylin
使用 Kylin
Kylin 启动后您可以通过浏览器 http://<hostname>:7070/kylin
进行访问。
其中 <hostname>
为具体的机器名、IP 地址或域名,默认端口为 7070。
初始用户名和密码是 ADMIN/KYLIN
。
服务器启动后,您可以通过查看 $KYLIN_HOME/logs/kylin.log
获得运行时日志。
停止 Kylin
运行 $KYLIN_HOME/bin/kylin.sh stop
脚本来停止 Kylin,界面输出如下:
Retrieving hadoop conf dir...
KYLIN_HOME is set to /usr/local/apache-kylin-4.0.0-bin
Stopping Kylin: 25964
Stopping in progress. Will check after 2 secs again...
Kylin with pid 25964 has been stopped.
您可以运行 ps -ef | grep kylin
来查看 Kylin 进程是否已停止。
HDFS 目录结构
Kylin 会在 HDFS 上生成文件,默认根目录是 “/kylin/”, 然后会使用 Kylin 集群的元数据表名作为第二层目录名,默认为 “kylin_metadata” (可以在conf/kylin.properties
中定制).
通常, /kylin/kylin_metadata
目录下按照不同的 project 存放数据,比如 learn_kylin 项目的数据目录为 /kylin/kylin_metadata/learn_kylin
, 该目录下通常包括以下子目录:
1.job_tmp
: 存放执行任务过程中生成的临时文件。
2.parquet
: 存放各个 cube 的 cuboid 文件。
3.table_snapshot
: 存放维度表快照。