1 Kylin4.0
1 新架构
https://cwiki.apache.org/confluence/display/KYLIN/Architecture+of+Kylin+4.X

2 新特性
- Parquet Storage:使用parquet来存储cubeid(移除了hbase作为存储)
- Spark Build Engine:使用spark来构建cubeid(移除了mr)
- RDBMS Metastore:使用RDBMS来存储metastore
- ...
https://cwiki.apache.org/confluence/display/KYLIN/Kylin+4.X+Feature+List

2 安装部署
0 说明
- 基于Centos7系统
- 展示的单机版,用作测试
1 下载安装包

2 上传安装包并解压
rz
tar -zxvf apache-kylin-4.0.0-beta-bin.tar.gz
mv apache-kylin-4.0.0-beta-bin kylin-4.0.0-beta
3 准备相关依赖包

- commons-collections-3.2.2.jar:https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar
- commons-configuration-1.10.jar:https://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.3/commons-configuration-1.3.jar
- hive-exec-1.21.2.3.1.0.0-78.jar:https://cwiki.apache.org/confluence/download/attachments/173081375/hive-exec-1.21.2.3.1.0.0-78.jar?api=v2
- stax2-api-3.1.4.jar:https://repo1.maven.org/maven2/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.jar
- mysql-connector-java-5.1.49.jar:https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
4 把上述包放到安装部署对应位置
cd $KYLIN_HOME
1 准备cdh相关包
mkdir -p bin/hadoop3_jars/cdh6
cp hive-exec-1.21.2.3.1.0.0-78.jar bin/hadoop3_jars/cdh6
cp stax2-api-3.1.4.jar bin/hadoop3_jars/cdh6
cp commons-configuration-1.10.jar lib/
2 准备mysql驱动
cp mysql-connector-java-5.1.40.jar ext/
3 commons包拷贝到tomcat的lib目录下(官网没有这一步,后面启动的时候会报一个commons报里面类找不到的错误,加入下面两个包则不会报错)
cp commons-configuration-1.10.jar /opt/kylin4.0.0/tomcat/webapps/kylin/WEB-INF/lib
cp commons-collections-3.2.2.jar /opt/kylin4.0.0/tomcat/webapps/kylin/WEB-INF/lib
5 配置服务器的hadoop环境变量
- ps:由于我使用的cdh6,如果你的kylin是部署在hadoop集群中的某个节点,比如某个datanode或者namenode,那不用配置环境变量,忽略这一步
- 如果不是,是单独部署在其他机器上,则需要配置cdh的客户端环境,参考我另一篇博客:https://blog.csdn.net/weixin_42529806/article/details/107609480,下面是我的环境变量配置
vim /etc/profile
#java env
#python env
#export PYTHON_HOME=/usr/local/python3
export PYTHON_HOME=/usr/bin/python
# hadoop env
export HADOOP_HOME=/opt/cloudera/parcels/CDH
export HADOOP_CONF_DIR=/opt/cloudera/etc/hive-conf
export CDH_MR2_HOME=$HADOOP_HOME/lib/hadoop-mapreduce
export JAVA_LIBRAY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
export HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/jars/*
# hive env
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export HCAT_HOME=/opt/cloudera/parcels/CDH
export HIVE_CONF_DIR=/opt/cloudera/etc/hive-conf
export HIVE_CONF=/opt/cloudera/etc/hive-conf
# hbase env
export HBASE_HOME=/opt/cloudera/parcels/CDH/lib/hbase
export HBASE_CONF_DIR=/opt/cloudera/etc/hbase-conf
# yarn env
export YARN_CONF_DIR=/opt/cloudera/etc/hive-conf
# spark env
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
#export SPARK_CONF_DIR=/opt/cloudera/parcels/CDH/bin/spark-submit
# flink env
export FLINK_HOME=/opt/env/flink-1.9.0
# kafka env
export KAFKA_HOME=/opt/cloudera/parcels/CDH/lib/kafka
# zookeeper env
export ZOOKEEPER_HOME=/opt/cloudera/parcels/CDH/lib/zookeeper
# kylin env
# export KYLIN_HOME=/opt/env/apache-kylin-3.1.0-bin-cdh60
export KYLIN_HOME=/opt/env/kylin-4.0.0-beta
# davinci env
export DAVINCI3_HOME=/opt/env/davinci
# datax env
export DATAX_HOME=/opt/env/datax
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_CONF_DIR:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HCAT_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$FLINK_HOME/bin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin:/$KYLIN_HOME/bin:$PHANTOMJS_HOME/bin:$DATAX_HOME/bin:$PYTHON_HOME:$KYLIN_HOME/bin
unset HADOOP_HOME
6 修改配置文件(重点下面改几项)
vim conf/kylin.properties
#元数据存储,用的mysql
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://yourip:3306/kylin,username=root,password=root123,maxActive=10,maxIdle=10
#hdfs工作空间
kylin.env.hdfs-working-dir=/kylin
# zk的目录
kylin.env.zookeeper-base-path=/kylin
## 不用本地
kylin.env.zookeeper-is-local=false
## zk连接
kylin.env.zookeeper-connect-string=master:2181
# hadoop conf目录位置
kylin.env.hadoop-conf-dir=/opt/cloudera/etc/hive-conf
7 启动
$KYLIN_HOME/bin/check-env.sh
$KYLIN_HOME/bin/kylin.sh start
web访问 ip:7070/kylin
#样例生成
$KYLIN_HOME/bin/sample.sh
#在web的项目那边会有learn-kylin
- 注意:新版本会报一个警告:WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete;这个问题不影响正常使用,先不管(老版本3.x的是没有这个警告的,可能是新版本源码哪儿的问题)
- 样例构建成功

8 登录kylin ui
- http://ip:7070/kylin 用户名/密码 ADMIN/KYLIN


可以看到样例已经有了
3 kylin使用
1 前面的导入hive表、创建模型,这儿先不细讲了
2 构建

选择日期:跨度选小些,就演示下,跑快些

4 安装踩坑
1 启动报错-少包
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException

原因分析:少包
解决办法:
下载下面两个包
commons-collections-3.2.2.jar
commons-configuration-1.30.jar
拷贝到kylin安装目录的tomcat的lib目录下:/opt/kylin4.0.0/tomcat/webapps/kylin/WEB-INF/lib
2 启动报错-zookeeper不能连接
org.apache.kylin.shaded.com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: Fail to check or create znode for chRoot /kylin/kylin_metadata
Caused by: java.lang.RuntimeException: Fail to check or create znode for chRoot /kylin/kylin_metadata due to
Caused by: org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
分析原因:zookeeper客户端配置不对或者zookeeper服务端挂了
解决办法:
1)进入zookeeper创建目录
### 进入zookeeper
zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /
### 如果没有kylin 就新建
### create 创建节点
### create [-s] [-e] path data acl 可以注意一下各个版本的变化
[zk: localhost:2181(CONNECTED) 1] create /kylin
[zk: localhost:2181(CONNECTED) 1] quit
# 发现能连接,并且能创建我们需要的/kylin目录;那只能是配置文件的问题
2)修改配置文件(我最开始是忘了陪zk的相关配置了,下面三项kylin.env.zookeeper-*)
vim conf/kylin.properties
#元数据存储,用的mysql
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://yourip:3306/kylin,username=root,password=root123,maxActive=10,maxIdle=10
#hdfs工作空间
kylin.env.hdfs-working-dir=/kylin
# zk的目录
kylin.env.zookeeper-base-path=/kylin
## 不用本地
kylin.env.zookeeper-is-local=false
## zk连接
kylin.env.zookeeper-connect-string=master:2181
# hadoop conf目录位置
kylin.env.hadoop-conf-dir=/opt/cloudera/etc/hive-conf
3)之后重启就ok了
448

被折叠的 条评论
为什么被折叠?



