Alluxio
ProductsLanguageHome
DA-3.5 (stable)
DA-3.5 (stable)
  • 概览
  • 部署Alluxio
    • 资源需求和兼容性
    • 在Kubernetes上安装Alluxio
    • 监控和指标
    • Alluxio 集群操作
    • 系统健康检查和快速恢复
    • 采集集群信息
  • 架构
    • Alluxio 命名空间和底层文件系统命名空间
    • I/O弹性
    • worker管理与一致性哈希
  • 底层存储系统
    • Amazon AWS S3
    • HDFS
    • 腾讯 COS
  • 计算集成
    • 在 K8s 上运行 Trino
    • 在 K8s 上运行 Spark
    • 数据湖连接器
  • Client APIs
    • S3 API
    • Java HDFS 兼容 API
  • 缓存操作
    • 缓存预加载
    • 缓存过滤
    • 缓存驱逐
      • TTL (有效时间)规则
      • 优先级规则
      • 通过命令行释放缓存空间
  • 资源管理
    • 基于目录的集群配额
    • UFS 带宽限制
  • 性能优化
    • 通过副本提高读取吞吐量
    • 读取大文件
    • 元数据列表
    • 数据预拉取
  • 安全
    • TLS 支持
    • Apache Ranger 集成
  • 参考
    • 用户命令行接口
    • 指标
    • S3 API Usage
    • 第三方证书
  • 版本发布说明
Powered by GitBook
On this page
  • 升级到新的 Alluxio 版本
  • 升级 Operator
  • 升级 Alluxio 集群
  • 扩容集群
  • 扩容 worker
  1. 部署Alluxio

Alluxio 集群操作

Last updated 1 month ago

本文档介绍如何对在 Kubernetes 上运行的 Alluxio 集群进行管理操作,如升级到新版本和添加新 Worker。

升级到新的 Alluxio 版本

升级 Operator

  1. 将与新版 Alluxio operator 对应的新 docker 镜像上传到镜像仓库(image registry),并解压该 operator 的 helm chart。 具体请参看 。

  2. 运行以下命令,以将新的更改应用到集群。

# 卸载 operator 。 operator 是独立的,operator 的状态不会影响现有的 Alluxio 集群
$ helm uninstall operator
release "operator" uninstalled

# 检查是否所有资源都已移除。命名空间是最后移除的资源
$ kubectl get ns alluxio-operator
Error from server (NotFound): namespaces "alluxio-operator" not found

# 在新的 helm chart 目录下运行以下命令,来首先升级 CRD
$ kubectl apply -f alluxio-operator/crds 2>/dev/null
customresourcedefinition.apiextensions.k8s.io/alluxioclusters.k8s-operator.alluxio.com configured
customresourcedefinition.apiextensions.k8s.io/underfilesystems.k8s-operator.alluxio.com configured

# 使用相同的 operator-config.yaml,仅更改镜像的标签,以重启 operator
$ helm install operator -f operator-config.yaml alluxio-operator
NAME: operator
LAST DEPLOYED: Thu Jun 27 15:47:44 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None

升级 Alluxio 集群

在操作之前应了解如下内容:

  • 升级操作开始后,coordinator 和 worker 将执行滚动升级以使用新的镜像。

  • 在集群升级期间,缓存命中率可能会略有下降,但在集群再次完全运行后就会完全恢复。

按照以下步骤升级集群:

  1. 更新 alluxio-cluster.yaml 中的 imageTag 字段,以反映新的 Alluxio 版本。在下面的示例中,新的 imageTag是 DA-3.5-10.2.0。

  2. 运行以下命令将新更改应用到集群。

# 将更改应用到 Kubernetes
$ kubectl apply -f alluxio-cluster.yaml
alluxiocluster.k8s-operator.alluxio.com/alluxio configured

# 验证是否升级。应能看到新的 pod 正在生成

$ kubectl get pod
NAME                                  READY   STATUS     RESTARTS   AGE
alluxio-coordinator-0                 0/1     Init:0/2   0          7s
alluxio-etcd-0                        1/1     Running    0          10m
alluxio-grafana-b89bf9dbb-77pb6       1/1     Running    0          10m
alluxio-prometheus-59b7b8bd64-b95jh   1/1     Running    0          10m
alluxio-worker-58999f8ddd-cd6r2       0/1     Init:0/2   0          7s
alluxio-worker-5d6786f5bf-cxv5j       1/1     Running    0          10m

# 检查集群状态
$ kubectl get alluxiocluster
NAME      CLUSTERPHASE   AGE
alluxio   Updating       10m

# 等待集群再次准备就绪
$ kubectl get alluxiocluster
NAME      CLUSTERPHASE   AGE
alluxio   Ready          12m

# 检查集群的 pod。可看到 alluxio pod 的 age 已发生变化

$ kubectl get pod
NAME                                  READY   STATUS    RESTARTS   AGE
alluxio-coordinator-0                 1/1     Running   0          93s
alluxio-etcd-0                        1/1     Running   0          12m
alluxio-grafana-b89bf9dbb-77pb6       1/1     Running   0          12m
alluxio-prometheus-59b7b8bd64-b95jh   1/1     Running   0          12m
alluxio-worker-58999f8ddd-cd6r2       1/1     Running   0          93s
alluxio-worker-58999f8ddd-rtftk       1/1     Running   0          33s

# 核对版本字符串
$ kubectl exec -it alluxio-coordinator-0 -- alluxio info version 2>/dev/null
DA-3.5-10.2.0

扩容集群

扩容 worker

在操作之前应了解如下内容:

  • 在集群升级期间,缓存命中率可能会略有下降,但在集群再次完全运行后就会完全恢复。

按照以下步骤扩容 worker:

  1. 更改 alluxio-cluster.yaml,以增加 worker 中的 count。在下面的示例中,我们将从 2 个 worker 扩展到 3 个 worker。

  2. 运行以下命令将新更改应用到集群。

# 将更改应用到 Kubernetes
$ kubectl apply -f alluxio-cluster.yaml
alluxiocluster.k8s-operator.alluxio.com/alluxio configured

# 验证集群是否正在升级。应能看到新的 pod 正在生成
$ kubectl get pod
NAME                                  READY   STATUS            RESTARTS   AGE
alluxio-coordinator-0                 1/1     Running           0          4m51s
alluxio-etcd-0                        1/1     Running           0          15m
alluxio-grafana-b89bf9dbb-77pb6       1/1     Running           0          15m
alluxio-prometheus-59b7b8bd64-b95jh   1/1     Running           0          15m
alluxio-worker-58999f8ddd-cd6r2       1/1     Running           0          4m51s
alluxio-worker-58999f8ddd-rtftk       1/1     Running           0          3m51s
alluxio-worker-58999f8ddd-p6n59       0/1     PodInitializing   0          4s

# 检查新的实例是否已就绪
$ kubectl get pod
NAME                                  READY   STATUS    RESTARTS   AGE
alluxio-coordinator-0                 1/1     Running   0          5m21s
alluxio-etcd-0                        1/1     Running   0          16m
alluxio-grafana-b89bf9dbb-77pb6       1/1     Running   0          16m
alluxio-prometheus-59b7b8bd64-b95jh   1/1     Running   0          16m
alluxio-worker-58999f8ddd-cd6r2       1/1     Running   0          5m21s
alluxio-worker-58999f8ddd-rtftk       1/1     Running   0          4m21s
alluxio-worker-58999f8ddd-p6n59       1/1     Running   0          34s

将与新版 Alluxio 对应的新 docker 镜像上传到镜像仓库。具体请参看。

安装文件
安装文档