EMR数据盘扩容

EMR扩容

当 EMR 集群计算资源、存储资源不足时,可以通过控制台对 Core 节点和 Task 节点进行扩容。当集群主节点(master 节点)负载较高或不够使用时,可以通过扩容或新增路由节点(router 节点)分担 Master 节点的负载,或作为集群的任务提交机,并支持随时扩容和缩容。

EMR产品文档中说明,当集群的存储资源不足时,可通过控制台对Core节点(Core为存储数据及计算的节点,Task为纯计算节点,不存储数据)进行扩容。当集群的计算资源充足仅需要扩容存储资源时就是本文的场景。

扩容背景

某客户基于以上EMR产品文档中的扩容场景无法满足其需求时(仅扩容存储资源),寻求扩容数据盘相关帮助,这也是EMR客户比较常见的一种场景,例如前期未规划好集群规模不能满足数据持续增长带来的存储资源需求或先购买较低规模集群后随需求进行扩容等。

通常来说为了保证EMR集群的统一稳定、便于管理,集群中同类型的节点都是保持一致的规格。存储资源亦是如此,如果仅对单台机器进行扩容数据盘则可能会导致数据不均衡,所以建议的是通过扩容新的节点来增添资源。

如果客户无论如何都仅需要扩容数据盘,也是建议尽量同类型节点全部扩容。

扩容流程

如果机器的磁盘类型为云硬盘、云SSD等,均可使用以下方式进行磁盘扩容,期间无需停服,业务完全不会受到影响。如果是本地盘则不能在线扩容。

  1. 首先登录准备扩容的机器节点、确认要扩容的设备例如:/dev/vdb以及硬盘是否分区及挂载方式
  2. 可以通过命令lsblk或者parted /dev/vdb来查看

这里的TYPE是disk,直接挂载到/data下,磁盘无分区(EMR的机器一般都是这种方式)

  1. 然后通过如下链接的方式对该台机器的磁盘进行扩容(云硬盘是云上可扩展的存储设备,用户可以在创建云硬盘后随时扩展其大小,以增加存储空间,同时不失去云硬盘上原有的数据。)

https://cloud.tencent.com/document/product/362/5747

然后再根据挂载的文件系统进行调整:

  1. 对于 EXT 文件系统,请执行 resize2fs 命令扩容文件系统。 以 /dev/vdb 为例, EXT 文件系统执行以下命令: resize2fs /dev/vdb
  2. 对于 XFS 文件系统,请执行 xfs_growfs 命令扩容文件系统。 以 /dev/vdb 为例, XFS 文件系统执行以下命令: xfs_growfs /dev/vdb
  3.  df -TH确认是否扩容成功

参考文献

  • 云硬盘扩容
  • EMR扩容