15 分钟内,在 Kubernetes 上设置 Apache Pinot

云计算
了解如何在 Kubernetes 上安装 Pinot Control Plane,配置您的第一个 Pinot 集群,并深入了解控制平面功能。

了解如何在 Kubernetes 上安装 Pinot Control Plane,配置您的第一个 Pinot 集群,并深入了解控制平面功能。

作为一名经验丰富的专业人士,我作为 Apache Druid k8s operator 的维护者获得了丰富的经验,并且与人合着并致力于各种 k8s operators/库。通过我的经验,我认识到需要建立特定于应用程序的控制平面,以促进大数据在 Kubernetes 上的顺利运行。

在我过去的角色中,我为 RillData 的 Druid、Startree 的 Pinot 和 Chistadata 的 Clickhouse 构建了 Kubernetes 控制平面。在所有三个 OLAP 商店工作之后,我现在完全致力于我的最新企业 DataInfra,该公司专注于构建高效的控制平面,使数据能够在 Kubernetes 上无缝运行。

为什么 Pinot 的控制平面?

我们相信 Kubernetes 可以作为任何应用程序的控制平面,包括那些具有数据和状态集的应用程序。虽然 Helm 图表对配置管理很有用,但它们不维护应用程序的状态。这就是我们基于 Kubernetes 操作符模式构建控制平面的原因,它充当您的应用程序需求和 Kubernetes 基础设施之间的桥梁。

k8s 的 Pinot 控制平面专门设计用于改善运行 Apache Pinot 集群的用户体验。作为一个分布式数据库,如果没有合适的工具,Pinot 很难在 Kubernetes 上运行。我们的项目基于DSOI 规范,并使用Operator-Runtime库构建,以提供更加用户友好和 Kubernetes 友好的体验。

本项目基于 Kubernetes 算子模式,但不限于此模式。鉴于 Pinot 的复杂性,仅依靠 Kubernetes 运营商可能不足以有效管理其运营。我们对该项目的愿景是创建一套全面的工具和实用程序,以实现 Pinot 在 Kubernetes 上的无缝部署和操作。

安装 Pinot 控制平面

Pinot 控制平面支持基于Helm Chart 的部署。要安装图表,请运行以下命令。我们将使用 Makefile 命令来引导控制平面。

  • Clone the Repo
git clone https://github.com/datainfrahq/pinot-control-plane-k8s.git
  • 部署 Pinot 控制平面——以下命令在 pinot-control-plane 命名空间中使用 helm 部署控制平面。
make helm-install-pinot-control-plane
  • 部署 Zookeeper Operator 和 Zookeeper — 以下命令需要几分钟才能完成。它将在 zookeeper-operator 命名空间中部署 zookeeper operator,在 pinot 命名空间中部署 zk statefulset
make helm-install-zk-operator

安装 Pinot Cluster

导出 Kubernetes 存储类。

export STORAGE_CLASS_NAME=standard
  • 安装 Pinot Cluster
envsubst < examples/00-pinot-basic/pinot-basic.yaml | kubectl apply -f - -n pinot

安装 Kafka 集群并创建主题

  • 添加 Helm 仓库并安装 Kafka 集群
# Add Kafka
helm repo add kafka https://charts.bitnami.com/bitnami
# Deploy kafka
helm install -n pinot kafka kafka/kafka --set replicas=1,zookeeper.image.tag=latest


  •  Kafka Pod 启动并运行后,创建主题
# Add Kafka
helm repo add kafka https://charts.bitnami.com/bitnami
# Deploy kafka
helm install -n pinot kafka kafka/kafka --set replicas=1,zookeeper.image.tag=latest

创建 Pinot 模式

  • Pinot 控制平面支持模式的创建。
kubectl apply -f examples/00-pinot-basic/pinotschema-basic.yaml -n pinot

创建比诺表

  • Pinot 控制平面支持创建表。
kubectl apply -f examples/00-pinot-basic/pinottable-basic.yaml -n pinot

将数据提取到 Kafka

  • 将数据提取到 kafka 主题中
kubectl apply -f examples/00-pinot-basic/pinot-realtime-kafka.yaml

访问 Pinot 控制台

  • 通过端口转发控制器 pod 或 svc 访问 pinot 控制台。
kubectl port-forward pinot-controller-controller-0 -n pinot 9000


责任编辑:华轩 来源: 今日头条
相关推荐

2021-08-09 09:00:00

Kubernetes云计算架构

2020-10-19 18:07:00

云计算技术应用

2016-01-06 14:00:20

Ubuntu 14Ubuntu 15Apache Solr

2019-04-23 09:48:21

KubernetesPostgreSQL

2022-12-29 14:25:22

2022-07-27 15:50:55

漏洞网络攻击

2009-06-29 08:35:59

Linux

2009-03-10 10:53:42

安装ApacheMySQL

2019-06-03 09:15:15

KubernetesKafka数据库

2023-01-26 11:56:31

Kubernete虚拟机k3s

2017-08-03 17:30:26

戴尔IoT设备

2010-05-18 10:20:10

CentOSNginxSubversion

2020-11-26 18:30:33

机器学习Kubernetes开发

2019-07-12 14:41:31

微服务Kubernetes容器

2018-05-17 09:15:25

Linux发行版root密码

2022-05-10 10:09:12

KubernetesPod网络抓包

2024-08-19 10:06:44

2016-12-23 09:09:54

TensorFlowKubernetes框架

2022-10-19 13:11:35

2016-07-29 15:49:58

DockerKubernetesMongoDB
点赞
收藏

51CTO技术栈公众号