1 软件要求
- 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:Linuxonly,CentOS6.5+orUbuntu16.0.4+
建议使用集成的sandbox来试用Kylin或进行开发,比如HDPsandbox,且要保证其有至少10GB内存。在配置沙箱时,推荐使用BridgedAdapter模型替代NAT模型。
2 硬件要求
运行Kylin的服务器的最低配置为4coreCPU,16GB内存和100GB磁盘。对于高负载的场景,建议使用24coreCPU,64GB内存或更高的配置。
3 安装Hadoop环境
- Kylin依赖于Hadoop集群处理大量的数据集。您需要准备一个配置好HDFS,YARN,Hive,Zookeeper,park以及你可能需要的其他服务的Hadoop集群供Kylin运行。
- Kylin可以在Hadoop集群的任意节点上启动。方便起见,您可以在master节点上运行Kylin。但为了更好的稳定性,我们建议您将Kylin部署在一个干净的Hadoopclient节点上,该节点上Hive,HDFS等命令行已安装好且client配置(如core-site.xml,hive-site.xml及其他)也已经合理的配置且其可以自动和其它节点同步。
- 运行Kylin的Linux账户要有访问Hadoop集群的权限,包括创建/写入HDFS文件夹,Hive表的权限。
4 安装
- 在ApacheKylin官网中下载一个ApacheKylin4.0的二进制文件。可通过如下命令行下载得到:
cd/usr/local/
wgethttp://mirror.bit.edu.cn/apache/kylin/apache-kylin-4.0.0/apache-kylin-4.0.0-bin.tar.gz
- 解压tar包,配置环境变量$KYLIN_HOME指向Kylin文件夹。
tar-zxvfapache-kylin-4.0.0-bin.tar.gz
cdapache-kylin-4.0.0-bin
exportKYLIN_HOME=`pwd`
$KYLIN_HOME/bin/download-spark.sh
或者配置SPARK_HOME指向环境中的spark2.4.7的路径。
Kylin4.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。并将mysqljdbcconnector放在$KYLIN_HOME/ext目录下,没有该目录时请自行创建。
请参考配置Mysql为Metastore了解Mysql作为Metastore的详细配置。
安装完成!
5 Kylintarball目录
bin
:shell脚本,用于启动/停止Kylin,备份/恢复Kylin元数据,以及一些检查端口、获取Hive/HBase依赖的方法等;
conf
:Hadoop任务的XML配置文件,这些文件的作用可参考Kylin的配置页面。
lib
:供外面应用使用的jar文件,例如Hadoop任务jar.
meta_backups
:执行 bin/metastore.shbackup
后的默认的备份目录;
sample_cube
用于创建样例Cube和表的文件。
spark
:使用kylin脚本下载得到的spark。
tomcat
:自带的tomcat,用于启动Kylin服务。
tool
:用于执行一些命令行的jar文件。
6 为某些环境执行额外步骤
对于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
7 检查运行环境
Kylin运行在Hadoop集群上,对各个组件的版本、访问权限及CLASSPATH等都有一定的要求,为了避免遇到各种环境问题,您可以运行$KYLIN_HOME/bin/check-env.sh脚本来进行环境检测,如果您的环境存在任何的问题,脚本将打印出详细报错信息。如果没有报错信息,代表您的环境适合Kylin运行。
8 启动Kylin
运行$KYLIN_HOME/bin/kylin.shstart脚本来启动Kylin,界面输出如下:
Retrievinghadoopconfdir...
KYLIN_HOMEissetto/usr/local/apache-kylin-4.0.0-bin
......
AnewKylininstanceisstartedbyroot.Tostopit,run'kylin.shstop'
Checkthelogat/usr/local/apache-kylin-4.0.0-bin/logs/kylin.log
WebUIisathttp://<hostname>:7070/kylin
9 使用Kylin
Kylin启动后您可以通过浏览器http://<hostname>:7070/kylin进行访问。
其中<hostname>为具体的机器名、IP地址或域名,默认端口为7070。
初始用户名和密码是ADMIN/KYLIN。
服务器启动后,您可以通过查看$KYLIN_HOME/logs/kylin.log获得运行时日志。
10 停止Kylin
运行$KYLIN_HOME/bin/kylin.shstop脚本来停止Kylin,界面输出如下:
Retrievinghadoopconfdir...
KYLIN_HOMEissetto/usr/local/apache-kylin-4.0.0-bin
StoppingKylin:25964
Stoppinginprogress.Willcheckafter2secsagain...
Kylinwithpid25964hasbeenstopped.
您可以运行ps-ef|grepkylin来查看Kylin进程是否已停止。
11 HDFS目录结构
Kylin会在HDFS上生成文件,默认根目录是/kylin/”,然后会使用Kylin集群的元数据表名作为第二层目录名,默认为“kylin_metadata”(可以在conf/kylin.properties中定制)。
通常,/kylin/kylin_metadata目录下按照不同的project存放数据,比如learn_kylin项目的数据目录为/kylin/kylin_metadata/learn_kylin,该目录下通常包括以下子目录:
- job_tmp:存放执行任务过程中生成的临时文件
- parquet:存放各个cube的cuboid文件
- table_snapshot:存放维度表快照