5分钟在k8s上可视化搭建Kylin5

文章介绍了如何利用CloudEon这款基于Kubernetes的大数据平台,在Kubernetes集群上便捷地部署和管理Kylin,包括创建Kubernetes集群、安装依赖服务、配置Kylin以及执行查询。此外,还提到了使用kubectl进入Kylinpod导入数据和执行SQL查询的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要有一个可用的Kubernetes环境,如果不会搭建可以搜索引擎检索kubekey或者rancher,有大量快速搭建文档,当然用kubeadmin也可以。

如果只是测试的话,可以用k3s搭建一个集群,操作比较简单,资源占用也比较少。

CloudEon是一款基于Kubernetes的开源大数据平台,该平台致力于简化多种大数据服务在Kubernetes上的部署和管理。

这里使用CloudEon可以快速地在Kubernetes上搭建Kylin5需要的HDFS、YARN、Hive、Zookeeper等组件,省去不少安装的时间。

直接使用docker启动CloudEon。

docker run  -p 7700:7700  --name cloudeon --rm registry.cn-hangzhou.aliyuncs.com/udh/cloudeon:dev

启动CloudEon后,默认密码是admin/admin。

我们需要在CloudEon中创建一个Kubernetes集群,绑定我们已有的Kubernetes集群环境。

需要填写kubeconfig,用于CloudEon访问Kubernetes集群。kubeconfig的内容一般可以从Kubernetes的master节点上执行命令cat ~/.kube/config得到。需要注意一下server如果是hostname的话,需要保证CloudEon能正确访问得到。

成功创建集群后,需要添加节点,输入各个节点的ssh密码和账号即可。

然后我们开始安装Kylin服务。我已经提前安装好Kylin依赖的服务,如果没安装过,会提示先安装。

分配角色实例到指定节点安装

修改初始化配置,需要设置mysql配置

约等待几分钟,即可安装成功。

安装成功后可以点击Kylin服务,查看服务详情。

也可以通过服务角色,查看kylin的实时日志。

通过服务的web地址可以跳转kylin首页,地址一是通过hostname访问,地址二是通过ip地址访问。

默认密码是ADMIN/KYLIN

成功登陆后可以看到kylin5全新的界面,好看了不少。

使用kubectl进入kylin的pod中

[root@test-1 ~]# kubectl get pod |grep kylin
kylin-server-kylin18-74dbbbdc67-cp2f4                1/1     Running   0          6m43s

[root@test-1 ~]# kubectl exec -it kylin-server-kylin18-74dbbbdc67-cp2f4  bash

进入pod后,直接执行脚本导入内置数据集和样本项目。

sample.sh

等待几分钟后,可以看到数据都导入完成了,一些sql脚本也用hive命令执行完了。

回到页面上可以看到多了新的项目和一些hive表数据。

点击model页面,可以看到多了一个cube

打开后,可以看到数据表直接的关系,很直看到都是inner join还有关联的字段。

点击index,可以看到默认导入的一些聚合组合还有index,可以看到状态都是没有构建的。

点击构建,可以选择增量或者全量,这里选择全量。

查看监控,可以看到构建的job

构建完成后可以看到cube的信息更新了

执行sql查询

SELECT 
P_PARTKEY,P_NAME ,count(*)
FROM 
"SSB"."P_LINEORDER" as "P_LINEORDER" 

INNER JOIN "SSB"."CUSTOMER" as "CUSTOMER"
ON "P_LINEORDER"."LO_CUSTKEY"="CUSTOMER"."C_CUSTKEY"
INNER JOIN "SSB"."PART" as "PART"
ON "P_LINEORDER"."LO_PARTKEY"="PART"."P_PARTKEY"
INNER JOIN "SSB"."SUPPLIER" as "SUPPLIER"
ON "P_LINEORDER"."LO_SUPPKEY"="SUPPLIER"."S_SUPPKEY"
INNER JOIN "SSB"."DATES" as "DATES"
ON "P_LINEORDER"."LO_ORDERDATE"="DATES"."D_DATEKEY"
group by P_PARTKEY,P_NAME

可以看到answer的是cube而不是hive(spark)。

再执行一个查询

可以看到answer的是hive(spark),因为该查询语句没有命中预构建的cube,是直接用的spark进行即席查询的。

点击跳转,可以跳到spark 的ui页面查看执行计划。

相关链接:

Gitee:https://gitee.com/dromara/CloudEon

Github:https://github.com/dromara/CloudEon

官网:https://cloudeon.top/

项目文档:https://docs.cloudeon.top/en/dev/

### 如何在 Kubernetes (k8s) 环境中搭建 Kylin 集群 #### 准备工作 为了确保 Kubernetes 集群能够支持 Apache Kylin 的部署,需先创建并管理好 Kubernetes 集群。可以利用 `kubeadm` 工具来完成这一操作,该工具能执行必要的动作以友好方式启动最小可行的安全集群[^1]。 #### 调整 Docker 和 Kubelet cgroup 驱动一致性 考虑到容器运行时环境的一致性和稳定性,在设置过程中要保证 Docker 和 kubelet 使用相同的 cgroup 驱动程序。通常情况下,默认配置下 kubelet 使用的是 systemd 作为其 cgroup 驱动器而 Docker 则采用 cgroupfs;因此可能需要调整其中一方使之匹配另一方的选择[^2]。 #### 安装 Helm 并添加稳定库源 Helm 是 Kubernetes 上的应用包管理器,对于安装复杂应用非常有用。通过 Helm 可简化 Kylin 集群的部署过程: ```bash curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash helm repo add stable https://charts.helm.sh/stable helm repo update ``` #### 创建命名空间用于隔离资源 为保持良好的项目结构习惯,建议为即将部署的服务指定独立的名字空间: ```bash kubectl create namespace kylin-cluster ``` #### 下载或构建适合版本的 Kylin Chart 由于官方仓库未必提供最新版或其他特定需求下的 Kylin chart 文件,所以有时需要自行下载对应版本或者基于现有模板定制化开发一套适用于当前场景使用的 helm chart。 #### 应用 Kylin Helm Chart 进行部署 当一切准备就绪之后就可以正式开始部署 Kylin 实例了。这里假设已经获取到了合适的 chart 包,则可以通过如下命令快速完成整个流程: ```bash helm install my-release ./path/to/kylin-chart -n kylin-cluster ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值