Alluxio
ProductsLanguageHome
  • Alluxio概览
  • 用户指南
    • 快速上手指南
    • 架构
    • FAQ
    • 作业服务器
    • 应用场景
  • 核心功能
    • 缓存
    • 统一命名空间
  • 部署 Alluxio
    • 在Kubernetes上部署Alluxio
    • 本地运行Alluxio
    • 在集群上独立运行Alluxio
    • 在Docker上运行Alluxio
    • 在具有HA的群集上部署Alluxio
    • 使用Docker部署AlluxioFuse加速深度学习训练(试验)
    • 基本要求
  • 云源生
    • Tencent EMR
  • 计算应用
    • Apache Spark
    • Presto
    • Spark on Kubernetes
    • Apache Flink
    • Apache Hadoop MapReduce
    • Presto on Iceberg (Experimental)
    • Trino
    • Apache Hive
    • 深度学习框架
    • Tensorflow
  • 底层存储系统
    • Alluxio集成Amazon AWS S3作为底层存储
    • Alluxio集成GCS作为底层存储
    • Alluxio集成Azure Blob Store作为底层存储
    • Azure Data Lake Storage Gen2
    • Azure 数据湖存储
    • Alluxio集成HDFS作为底层存储
    • Alluxio集成COS作为底层存储
    • Alluxio集成COSN作为底层存储
    • Alluxio集成Ceph Object Storage作为底层存储
    • Alluxio集成NFS作为底层存储
    • Alluxio集成Kodo作为底层存储
    • Alluxio集成Swift作为底层存储
    • Alluxio集成WEB作为底层存储
    • Alluxio集成Minio作为底层存储
    • 阿里云对象存储服务
    • Alluxio集成Ozone作为底层存储
    • Alluxio集成CephFS作为底层存储
  • 安全设置
    • 安全性
  • 运维指南
    • 配置项设置
    • 命令行接口
    • 管理员命令行接口
    • Web界面
    • 日志
    • 度量指标系统
    • 远程记录日志
  • 管理
    • 升级
    • 异常诊断与调试
  • APIs
    • Filesystem API
    • S3 Client
    • POSIX API
    • REST API
    • Python Client
    • 兼容Hadoop的Java
    • Go 客户端
  • 开发者资源
    • 编译Alluxio源代码
    • 开发指南
    • 代码规范
    • 如何开发单元测试
    • 文档规范
  • 参考
    • 配置项列表
    • List of Metrics
  • REST API
    • Master REST API
    • Worker REST API
    • Proxy REST API
    • Job REST API
  • Javadoc
Powered by GitBook
On this page
  • 基础升级流程
  • 创建当前版本的备份
  • 升级并从备份启动
  • 升级客户端和服务器
  • 其他选项
  • Alluxio worker 内存磁盘缓存持久化
  1. 管理

升级

Last updated 6 months ago

基础升级流程

正常情况下,用户可以直接关闭当前的 Alluxio 进程,将 Alluxio 二进制文件更改为更高的版本,同时还按之前的方式配置 Alluxio 集群,并使用现有的日志文件夹/地址来启动 Alluxio 进程 进行升级。Alluxio 可读取以前的日志文件并从 Journal 日志中自动恢复 Alluxio 元数据。

以下两种情况下master日志无法向后兼容,需要采取额外的步骤来升级 Alluxio 集群:

  • 从 Alluxio 1.x 版本升级到 Alluxio 2.x 版本

  • 使用的情况下从 Alluxio 2.3.x 及以下版本升级到 Alluxio 2.4.0 及以上版本

本文档介绍了如何将 Alluxio 升级到非向后兼容版本。 即使是要升级到可向后兼容的版本,仍然建议按照以下步骤在升级前创建备份。

创建当前版本的备份

Alluxio-1.8.1 版本引入了日志备份(backup)功能。 注意,请不要在备份前修改 Alluxio 二进制文件。 通过运行以下命令创建日志备份:

$ ./bin/alluxio fsadmin backup
Successfully backed up journal to ${BACKUP_PATH}

${BACKUP_PATH} 将根据日志的日期和配置确定。 备份文件将默认保存到集群根 UFS 的 alluxio.master.backup.directory 中, 也可以使用 backup [local_address] --local 命令将文件备份到当前 leading master 节点的本地文件系统中。

升级并从备份启动

停止现有的 Alluxio 集群后,下载并解压新版本的 Alluxio 。 从 /conf 目录拷贝旧的配置文件。然后通过以下命令将集群格式化:

$ ./bin/alluxio format
  • 警告: 该操作会对 Alluxio worker 上的内存虚拟硬盘(ramdisk)进行格式化(即:删除其中的内容)。 如果您希望保留 worker 上的内存虚拟硬盘,请参阅 。

然后使用 -i ${BACKUP_PATH} 参数启动集群, 将 ${BACKUP_PATH} 替换为具体的备份路径。

$ ./bin/alluxio-start.sh -i ${BACKUP_PATH} all

注意这里的 ${BACKUP_PATH} 应该是类似 HDFS 地址的完整路径,可以被所有 Alluxio master 访问。 如果要备份到本地文件系统路径,需将备份文件复制到所有 master 节点上的同一位置,然后通过本地备份文件路径启动所有 master。

升级客户端和服务器

Alluxio 2.x 版本对 RPC 层进行了重大修改, 因此 2.0.0 之前版本的客户端不能与 2.0.0 之后版本的服务器一起运行,反之亦然。 如果要使用 Alluxio-2.x 客户端需升级所有应用程序中的 Alluxio 客户端。

请参阅以下步骤:

  1. 停止 Alluxio 集群。

$ ./bin/alluxio-stop.sh all
  1. 更新所有应用程序的 Alluxio 客户端 jar 路径。例如Yarn, Spark, Hive 和 Presto,在 Cloudera Manager 的 "YARN (包括MR2)" 部分,在 "Configuration" 选项卡中,搜索参数 "Gateway Client Environment Advanced Configuration Snippet (Safety Valve) for hadoop-env.sh"。然后将以下行添加到脚本中:

$ export HADOOP_CLASSPATH={{site.ALLUXIO_CLIENT_JAR_PATH}}:${HADOOP_CLASSPATH}

如下所示:

4. 启动Alluxio集群 ```console $ ./bin/alluxio-start.sh all ``` 5. 如果您已经更新了某个应用程序的 Alluxio 客户端 jar,请重新启动该应用程序,以便使用新的 Alluxio 客户端 jar。

其他选项

Alluxio worker 内存磁盘缓存持久化

如果您已经配置了 Alluxio worker 上的内存磁盘缓存,可使用另一个存储介质(例如,主机的本地磁盘)来持久化和恢复这些缓存的内容。

在运行 alluxio-stop.sh 时加上 -c 参数来指定 worker 保存其内存磁盘内容的路径(worker会将内容保存到其主机的文件系统中):

$ ./bin/alluxio-stop.sh workers -c ${CACHE_PATH}
  • 警告: 该操作将覆盖并替换给定 ${CACHE_PATH} 中的所有现有内容

然后,在运行 alluxio-start.sh 时加上 -c 参数来指定包含 worker 内存磁盘缓存内容的目录。

$ ./bin/alluxio-start.sh workers NoMount -c ${CACHE_PATH}
  • 警告: 该操作将覆盖并替换已配置的 worker 内存磁盘路径中所有的现有内容。

备份 Alluxio 中文件的元数据。请参阅有关 backup 命令的。

Alluxio worker 内存虚拟硬盘缓存持久化
内嵌日志
文档