目录
3.2设置 kylin_streaming_topic 的数据保留时间
1. 下载景象
有时为了方便的去测试kylin的功能,我们可以直接通过docker的方式来启动一个kylin示例,直接执行上面的景象下载命令即可。下载之后的后续操作,请参考以下资料:
http://kylin.apache.org/cn/docs/install/kylin_docker.html
在下载竟像时要指定景象的版本3.1.0,因位docker hub上latest版本下载不来
https://hub.docker.com/r/apachekylin/apache-kylin-standalone
//下载kylin依赖的景象
docker pull apachekylin/apache-kylin-standalone:3.1.0
2. 启动容器
2.1 执行启动容器的命令:
//启动容器
docker run -d \
-m 8G \
-p 7070:7070 \
-p 8088:8088 \
-p 50070:50070 \
-p 8032:8032 \
-p 8042:8042 \
-p 16010:16010 \
apachekylin/apache-kylin-standalone:3.1.0
2.2 观察启动效果
- 首先通过docker ui观察启动的景象
观察其他页面
- Kylin 页面:http://127.0.0.1:7070/kylin/login
- HDFS NameNode 页面:http://127.0.0.1:50070
如下页面,已经默认生成的sample的5张表
- YARN ResourceManager 页面:http://127.0.0.1:8088
- HBase 页面:http://127.0.0.1:16010
kylin登陆页面的默认账号密码是ADMIN/KYLIN
构建好cube之后,执行查询语句:
//执行查询语句
select sum(KYLIN_SALES.PRICE)
as price_sum,KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
from KYLIN_SALES inner join KYLIN_CATEGORY_GROUPINGS
on KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID and
KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID
group by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
order by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME asc,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME desc
查询结果如下:
3. 停止容器中的kylin
为了方式 不断往 kylin_streaming_topic 中生成数据,从而占用磁盘空间,我们可通过以下两个方法来进行设置,这里推荐使用第二种方法,直接设置 kylin_streaming_topic 数据保留时长为10分钟即可
3.1 停止容器中的kylin
由于启动kylin后,stream_cube会不断的生成数据到kafka中的 kylin_streaming_topic ,时间长了会占据磁盘空间大小,因此我们可以进入到容器中,停止kylin
//进入到kylin容器
docker exec -it 26a7f81cbe31 bash
//切换目录
cd /home/admin/apache-kylin-3.1.0-bin-hbase1x/bin
//停止kylin
kylin.sh stop
//再次启动kylin
kylin.sh start
3.2设置 kylin_streaming_topic 的数据保留时间
还有一种方式就是设置topic中数据保留的时长,例如我们把 kylin_streaming_topic 的数据保留时长设置为保留10分钟,执行以下命令即可:
# 设置 kylin_streaming_topic 中数据保留时长为 10 分钟
# 观察kylin_streaming_topic当前的配置
./kafka-configs.sh --zookeeper localhost:2181 --describe --entity-name kylin_streaming_topic --entity-type topics
# 设置topic保留的时间为10分钟
./kafka-topics.sh --zookeeper localhost:2181 --alter --topic kylin_streaming_topic --config retention.ms=600000
# 再次验证topic中的数据保留时长、可见已生效
./kafka-configs.sh --zookeeper localhost:2181 --describe --entity-name kylin_streaming_topic --entity-type topics
4. 参考资料
http://kylin.apache.org/cn/docs/install/kylin_docker.html
https://hub.docker.com/r/apachekylin/apache-kylin-standalone