Kylin4.0安装部署使用

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 准备相关依赖包

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

 

 

可以看到样例已经有了

 

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

 

https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar

https://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.3/commons-configuration-1.3.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了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值