更改NodeManager的存储目录
操作场景
Yarn NodeManager定义的存储目录不正确或Yarn的存储规划变化时,MRS集群管理员需要在Manager中修改NodeManager的存储目录,以保证Yarn正常工作。NodeManager的存储目录包含本地存放目录“yarn.nodemanager.local-dirs”和日志目录“yarn.nodemanager.log-dirs”。适用于以下场景:
- 更改NodeManager角色的存储目录,所有NodeManager实例的存储目录将同步修改。
- 更改NodeManager单个实例的存储目录,只对单个实例生效,其他节点NodeManager实例存储目录不变。
对系统的影响
- 更改NodeManager角色的存储目录需要停止并重新启动集群,集群未启动前无法提供服务。
- 更改NodeManager单个实例的存储目录需要停止并重新启动实例,该节点NodeManager实例未启动前无法提供服务。
- 服务参数配置如果使用旧的存储目录,需要更新为新目录。
- 更改NodeManager的存储目录以后,需要重新下载并安装客户端。
前提条件
- 在各个数据节点准备并安装好新磁盘,并格式化磁盘。
- 规划好新的目录路径,用于保存旧目录中的数据。
- 准备好MRS集群管理员用户admin。
操作步骤
MRS 3.x之前的版本集群执行以下操作:
- 检查环境。
- 更改NodeManager角色的存储目录。
- 选择“集群列表 > 现有集群”,单击集群名称。选择“组件管理 > Yarn > 停止”,停止Yarn服务。
- 登录弹性云服务器,以root用户登录到安装Yarn服务的各个节点中,执行如下操作。
- 在MRS控制台界面,选择“集群列表 > 现有集群”,单击集群名称。选择“组件管理 > Yarn > 实例”,选择对应主机的NodeManager实例,单击“实例配置”,“选择”“全部配置”。
将配置项“yarn.nodemanager.local-dirs”或“yarn.nodemanager.log-dirs”修改为新的目标目录。
例如:如果修改“yarn.nodemanager.local-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/localdir”。如果修改“yarn.nodemanager.log-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/containerlogs”。
- 单击“保存配置”,勾选“重新启动受影响的服务或实例”,单击“确定”。重启Yarn服务。
- 更改NodeManager单个实例的存储目录。
- 选择“集群列表 > 现有集群”,单击集群名称。选择“组件管理 > Yarn > 实例”,勾选需要修改存储目录的NodeManager单个实例,选择“更多 > 停止实例”。
- 登录弹性云服务器,以root用户登录到这个NodeManager节点,执行如下操作。
- 在MRS控制台,单击指定的NodeManager实例并切换到“实例配置”。
将配置项“yarn.nodemanager.local-dirs”或“yarn.nodemanager.log-dirs”修改为新的目标目录。
例如:如果修改“yarn.nodemanager.local-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/localdir”。如果修改“yarn.nodemanager.log-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/containerlogs”。
- 单击“保存配置”,勾选“重新启动受影响的服务或实例”。单击“确定”。重启NodeManager实例。
MRS 3.x及后续版本集群也可执行以下操作:
- 检查环境。
- 更改NodeManager角色的存储目录。
- 选择“集群 > 待操作集群的名称 > 服务 > Yarn > 停止服务”,停止Yarn服务。
- 以root用户登录到安装Yarn服务的各个节点中,执行如下操作。
- 在Manager管理界面,选择“集群 > 待操作集群的名称 > 服务 > Yarn > 实例”,选择对应主机的NodeManager实例,单击“实例配置”,选择“全部配置”。
将配置项“yarn.nodemanager.local-dirs”或“yarn.nodemanager.log-dirs”修改为新的目标目录。
例如:如果修改“yarn.nodemanager.local-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/localdir”。如果修改“yarn.nodemanager.log-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/containerlogs”。
- 单击“保存”,单击“确定”。重启Yarn服务。
- 更改NodeManager单个实例的存储目录。
- 选择“集群 > 待操作集群的名称 > 服务 > Yarn > 实例”,勾选需要修改存储目录的NodeManager单个实例,选择“更多 > 停止实例”。
- 以root用户登录到这个NodeManager节点,执行如下操作。
- 在Manager管理界面,单击指定的NodeManager实例并切换到“实例配置”。
将配置项“yarn.nodemanager.local-dirs”或“yarn.nodemanager.log-dirs”修改为新的目标目录。
例如:如果修改“yarn.nodemanager.local-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/localdir”。如果修改“yarn.nodemanager.log-dirs”参数,则将其值修改为“/srv/BigData/data2/nm/containerlogs”。
- 单击“保存”,单击“确定”。重启NodeManager实例。