1 kylin安装和启动
1.1 安装
1.1.1 安装包解压和修改软链接
上传安装包至服务器,解压至/usr/local目录下,创建kylin软链接
# 解压
tar -xvf /opt/apache-kylin-3.1.2-bin-cdh60.tar -C /usr/local/
# 创建软链接
ln -s /usr/local/apache-kylin-3.1.2-bin-cdh60 /usr/local/kylin
1.1.2 修改配置文件
# 修改kylin.properties配置文件
vim /usr/local/kylin/conf/kylin.properties
# 修改为如下, 指向hive的配置
kylin.env.hadoop-conf-dir=/etc/hive/conf
# 修改hbase配置文件
# 修改hbase的classpath,增加hbase目录下的所有jar包
vim /opt/cloudera/parcels/CDH/lib/hbase/bin/hbase
# 增加hbase jar包路径
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/opt/cloudera/parcels/CDH/lib/hbase/lib/*
1.1.3 kylin用户准备
1)创建kylin用户并生成kerberos票据
# 创建用户
useradd kylin
# 生成票据
kadmin.local
addprinc -pw kylin kylin@HAINIU.COM
xst -norandkey -k /data/kylin.keytab kylin
exit
# 注意需要修改kylin.keytab文件的属主为kylin,因为kylin运行是在kylin用户上运行的。
chown kylin:kylin /data/kylin.keytab
2)sentry权限配置
-- 配置hive权限(用hive认证)
create role admin_role_cz;
grant all on server server1 to role admin_role_c;
grant role admin_role to group kylin;
-- 配置hbase权限(用hbase认证)
grant '@kylin','RWXCA'
1.1.4 配置环境信息
1)修改所有者为kylin
# 修改所有者为kylin
chown -R kylin:kylin /usr/local/apache-kylin-3.1.2-bin-cdh60
2)修改kylin用户环境变量
su - kylin
vim ~/.bash_profile
# 添加如下
export JAVA_HOME=/usr/java/latest
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export KYLIN_HOME=/usr/local/kylin
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/usr/local/kylin/bin
# source profile
source ~/.bash_profile
1.1.5 准备hdfs目录
# 创建hdfs目录并修改属主为kylin(用hdfs认证)
hadoop fs -mkdir /kylin
hadoop fs -chown kylin:kylin /kylin
hadoop fs -mkdir /user/kylin
hadoop fs -chown kylin:kylin /user/kylin
1.2 启动kylin
- kinit认证
# 切换到kylin用户认证和启动
su - kylin
kinit -kt /data/kylin.keytab kylin
- 启动kylin
# 启动前可以使用如下命令检查kylin环境
check-env.sh
# 启动kylin
kylin.sh start
# 关闭kylin
kylin.sh stop
# 如果启动kylin时报错 Client cannot authenticate via:[TOKEN, KERBEROS],可按照下面方式解决
su - kylin
kinit -kt /data/kylin.keytab kylin
# 多用户操作,导致环境变量出问题,需要重置
unset ld_library_path
kylin.sh start
启动日志:
用 kylin web ui 登录
登录地址:http://worker-1:7070/kylin
默认用户名密码:ADMIN/KYLIN
2 执行kylin官方测试样例
2.1 加载kylin官方测试数据
# root 用户修改keytab文件
chmod 777 hbase.keytab
chmod 777 hdfs.keytab
chmod 777 hive.keytab
# 用kylin用户执行sample.sh 生成测试数据
su - kylin
# 加载过程要求三次权限
# 首先使用kylin认证执行
kinit -kt /data/kylin.keytab kylin
/usr/local/kylin/bin/sample.sh
# 然后切换到hive认证执行
kinit -kt /data/hive.keytab hive
/usr/local/kylin/bin/sample.sh
# 最后一步切换回kylin认证执行
kinit -kt /data/kylin.keytab kylin
/usr/local/kylin/bin/sample.sh
# 创建cub完成的日志内容
# Sample cube is created successfully in project 'learn_kylin'.
# Restart Kylin Server or click Web UI => System Tab => Reload Metadata to take effect
# (可重启)重新启动kylin服务,测试数据才会在页面显示
kylin.sh restart
# (也可以load)在页面system中点击reload metadata
页面显示:
查看已创建的cube详细
2.2 build cube
已创建的cube status 为 DISABLED,进行build
build时要选择数据日期范围,选好后提交
可从监控标签查看build任务情况
build后,status状态改变
2.3 执行cube查询
-- 查询SQL
-- 查询 每天的 订单金额, 不同卖家个数
select part_dt, sum(price) as total_sold, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt;
-- 查询每天订单数是多少
select part_dt, count(trans_id) from kylin_sales group by part_dt order by part_dt;
查询结果: